0

在 Windows、Mac OS、Linux 等中是否会遇到任何“不安全”的文件名?

例如:

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

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

4

2 回答 2

1

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

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

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

最后,关于大写/小写的说明:大多数 Windows 文件系统都保留大小写,但不区分大小写,因此大写/小写差异通常无关紧要。

但是,请注意,几乎在所有情况下,即使需要一些变通方法才能使它们正常工作,这些文件仍然可以使用。

于 2012-10-08T02:28:14.013 回答
1

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

对于 Windows,并不是大写字母有问题。这是因为 Windows 文件系统不区分大小写,因此在某些情况下,在互操作时(例如,使用区分大小写的 git 存储库)您可能会遇到问题(例如,存储库最终会出现大小写不同的重复项)。

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

于 2012-10-08T02:28:56.653 回答