為什么文件名不能包含下列任何字符 \/:*?“<>|


/ \ 是路徑分割符(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中.代表當前文件夾而..代表上一級文件夾。



作者:0xB160C0C5
鏈接:https://www.zhihu.com/question/38751059/answer/100736932
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM