为什么我不能用这些名称创建文件/文件夹?

为什么我不能用这些名称创建文件/文件夹?

谁能详细告诉我为什么 Windows 不允许创建具有以下名称的文件/文件夹?

  • 美联社
  • 辅助
  • 空值
  • LP1 接口
  • COM1
  • 潜在驱动器号 - A: 到 Z:
  • 其他字符(例如<(小于)、>(大于)、:(冒号)、"(双引号)、/(正斜杠)\、(反斜杠)、|(竖线)、?(问号)、*(星号)

答案1

MSDN 中关于允许内容的完整细节:

http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx

  • 使用句点将目录或文件名称中的基本文件名与扩展名分隔开。

  • 使用反斜杠 () 分隔路径的各个部分。反斜杠将文件名与路径分隔开,并将路径中的一个目录名与另一个目录名分隔开。您不能在实际文件或目录的名称中使用反斜杠,因为它是将名称分隔成各个部分的保留字符。

  • 根据需要使用反斜杠作为卷名的一部分,例如,通用命名约定 (UNC) 名称中的“C:\”在“C:\path\file”中或“\server\share\path\file”中。有关 UNC 名称的更多信息,请参阅最大路径长度限制部分。

  • 不要假设区分大小写。例如,假设名称 OSCAR、Oscar 和 oscar 相同,即使某些文件系统(如 POSIX 兼容文件系统)可能认为它们不同。请注意,NTFS 支持区分大小写的 POSIX 语义,但这不是默认行为。有关更多信息,请参阅 CreateFile。

  • 卷标识符(驱动器字母)同样不区分大小写。例如,“D:\”和“d:\”指的是同一个卷。

  • 使用当前代码页中的任意字符作为名称,包括 Unicode 字符和扩展字符集 (128–255) 中的字符,但以下字符除外:

    • 以下保留字符:

      • <(小于)
      • (比...更棒)

      • : (冒号)
      • “(双引号)
      • /(正斜杠)
      • \(反斜杠)
      • | (垂直条或管道)
      • ?(问号)
      • *(星号)
    • 整数值零,有时称为 ASCII NUL 字符。

    • 整数表示形式在 1 到 31 范围内的字符,但允许使用这些字符的备用流除外。有关文件流的更多信息,请参阅文件流。

    • 目标文件系统不允许的任何其他字符。

  • 使用句点作为路径中的目录组件来表示当前目录,例如“.\temp.txt”。有关更多信息,请参阅路径。

  • 使用两个连续的句点 (..) 作为路径中的目录组件来表示当前目录的父目录,例如“..\temp.txt”。有关更多信息,请参阅路径。

  • 请勿使用以下保留设备名称作为文件名:

    CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8 和 LPT9。还应避免在这些名称后紧跟扩展名;例如,不建议使用 NUL.txt。有关更多信息,请参阅命名空间。

  • 不要以空格或句点结尾文件或目录名称。虽然底层文件系统可能支持此类名称,但 Windows shell 和用户界面不支持。不过,可以将句点指定为名称的第一个字符。例如“.temp”。

答案2

此外,名称末尾不能使用空格或句点。此外,文件不能具有以下保留设备名称:CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8 和 LPT9。请注意,在 Windows 中不区分大小写。

您可能还会发现来自的页面(来源)

相关内容