“安全”文件命名

时间:2012-10-08 02:19:51

标签: windows file character ascii naming

在Windows,Mac OS,Linux等中是否有任何“不安全”的文件名?

例如:

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

我听说甚至用空格,下划线,大写字母和短划线命名文件也可能存在问题,即使Windows不将它们包含在禁止字符列表中也是如此。这是真的?我隐约记得看到不区分大写和小写字符的程序,我知道HTML URL将不安全的ASCII字符编码为%(例如,空格)。

2 个答案:

答案 0 :(得分:1)

这在很大程度上取决于使用环境。某些非禁止字符可能会导致某些程序出现问题,但绝大多数使用标准系统API的应用程序都不会遇到任何问题。

某些程序(尤其是命令行工具)可能对文件名中存在空格敏感。其他人可能在内部仅使用ASCII,因此无法处理包含基本ASCII之外的字符的文件名。 (大多数现代操作系统几乎都会接受文件名中的任何Unicode字符。)

某些工具可能需要转义某些字符(例如批处理脚本中的%),而其他工具可能不喜欢在文件名中包含引号。

最后,关于大写/小写的注释:大多数Windows文件系统都是保留大小写的,但在其他方面不区分大小写,因此大小写差异通常无关紧要。

但是,请注意,几乎在所有情况下,即使需要一些解决方法来使它们工作,仍然可以使用这些文件。

答案 1 :(得分:1)

类似Unix(包括Linux和Mac OS)和Windows都应该没有下划线问题。空格通常也应该没问题,但是你偶尔会发现无法处理它们的错误代码。

对于Windows,并不是资本问题。这是因为Windows文件系统不区分大小写,因此在某些情况下进行互操作时(例如,使用区分大小写的git repo),最终会出现问题(例如,repo最终会出现具有不同大小写的重复项)。

我不确定-。避免它的一个原因是-对于许多命令行程序(例如rm -r)具有特殊含义。所以你必须使用像.\-r这样烦人的语法。我通常也会避免像%这样的异国情调。