2012-10-08 37 views
0

在Windows,Mac OS,Linux等中是否存在可能遇到的任何「不安全」文件名?「安全」文件命名

例如:

  • New Video 2012-External Room
  • GED Practice Sheet
  • RgRrE-re-_d Da-

我聽說甚至命名文件用空格,下劃線,大寫字母和破折號可能是潛在的問題即使Windows沒有將它們包含在禁止的字符列表中。這是真的?我隱約想起看到不區分大寫字母和小寫字母的程序,並且我知道HTML URL將不安全的ASCII字符編碼爲%(例如空格)。

+0

您是否對Windows或您在問題開頭列出的所有操作系統中的「不安全」名稱感興趣?不同的操作系統對合法文件名有不同的規則。 – rrufai

+0

@rrufai所有的操作系​​統。 – obsidian

回答

1

兩個類Unix(包括Linux和Mac OS)和Windows應該有下劃線沒有問題。空間通常也應該很好,但你偶爾會發現無法處理它們的錯誤代碼。

對於Windows而言,並不是資金有問題。這就是說Windows文件系統不區分大小寫,所以在某些情況下,當互操作時(例如使用區分大小寫的git repo),最終會出現問題(例如,回購以不同大小寫的重複結尾)。我不確定-。避免它的一個原因是-對於許多命令行程序(例如rm -r)具有特殊含義。所以你必須使用煩人的語法,如.\-r。我通常也會避免像%這樣的更奇特的。

1

它強烈依賴於使用環境。某些未禁用的字符可能會導致某些程序出現問題,但絕大多數使用標準系統API的應用程序不應該遇到任何問題。

某些程序(尤其是命令行工具)可以是到的空間中的文件名的存在敏感。其他人可能僅在內部使用ASCII,因此無法處理包含基本ASCII外部字符的文件名。 (大多數現代操作系統大體上都會接受文件名中的任何Unicode字符)。

某些工具可能需要某些字符轉義(例如,在批處理腳本%),而其他人可能不喜歡有在文件名中的報價。

最後,大/小寫記:大多數Windows文件系統的情況下保留,但否則不區分大小寫的,所以大/小寫的差異通常並不重要。

但是,需要注意的是在幾乎所有情況下,仍然可以將文件即使需要一些解決方法,以使他們的工作中。