為什麼文件名不能有prn
① 在windows7中,文件名中不允許出現的字元有哪些
是路徑分割符(Windows的路徑分隔符是反斜杠,但處理文件的API接受帶正斜杠的路徑名)。
< > 是輸入輸出重定向,比如想把foo.exe的輸出重定向到文件abc.txt::foo > abc.txt;把anc.txt的內容輸入給foo.exe:foo < abc.txt。
: 是用來區分盤符,比如C: D:。
「 是用來標記帶空格的路徑,比如"C:\Program Files"。
| 是管道,把一個程序的輸出作為另一個程序的輸入,比如type命令查看文件內容,但如果文件很大一屏顯示不下的話就需要把輸出通過管道給more命令,這樣每輸出滿一屏就會停下來直到你按鍵再輸出下一屏: type abc.txt | more。
除了這把個字元,Windows還不允許文件名包含空字元(NULL,U+0000)。
PS:Windows不允許只包含點的文件名,比如.,..,...等等,因為Windows中.代表當前文件夾而..代表上一級文件夾。
PS2:NTFS文件系統不允許在根目錄中存在以下文件名:$Mft,$MftMirr,$LogFile,$Volume,$AttrDef,$Bitmap,$Boot,$BadClus,$Secure,$Upcase,$Extend,$Quota,$ObjId,$Reparse。因為這些是NTFS文件系統的元文件。
PS3:Windows不允許下列文件名:CON,PRN,AUX, NUL,COM1,COM2,COM3,COM4,LPT1,LPT2,LPT3,LPT4。因為這些名字是DOS和Windows中的設備文件名。比如CON輸入時代表鍵盤,輸出時代表屏幕;AUX代表輔助設備(通常是COM1),PRN代表列印機,NUL代表空設備,COMX代表COM介面,LPTX代表LPT介面。
② 文件名不能包含字元怎麼解決
/ \ 是路徑分割符(Windows的路徑分隔符是反斜杠,但處理文件的API接受帶正斜杠的路徑名)。
< > 是輸入輸出重定向,比如想把foo.exe的輸出重定向到文件abc.txt::foo > abc.txt;把anc.txt的內容輸入給foo.exe:foo < abc.txt。
: 是用來區分盤符,比如C: D:。:Windows不允許只包含點的文件名,比如.,..,...等等,因為Windows中.代表當前文件夾而..代表上一級文件夾。
PS2:NTFS文件系統不允許在根目錄中存在以下文件名:$Mft,$MftMirr,$LogFile,$Volume,$AttrDef,$Bitmap,$Boot,$BadClus,$Secure,$Upcase,$Extend,$Quota,$ObjId,$Reparse。因為這些是NTFS文件系統的元文件。
PS3:Windows不允許下列文件名:CON,PRN,AUX, NUL,COM1,COM2,COM3,COM4,LPT1,LPT2,LPT3,LPT4。因為這些名字是DOS和Windows中的設備文件名。比如CON輸入時代表鍵盤,輸出時代表屏幕;AUX代表輔助設備(通常是COM1),PRN代表列印機,NUL代表空設備,COMX代表COM介面,LPTX代表LPT介面。
剛剛用linux批量下載,想把下載的文件拷到U盤里,一直提示我文件名重復,讓我更改文件名,開始我還以為是文件名過長,數了一下也就130多個字元,應該還行呀,然後我又看了一遍,才發現這130多個字元里有一個不起眼的「?」。。。