Windows 文件名中不允许使用以下字符:
<>:“/\|?*
有关文件命名的更多信息,请参阅此处。
命名约定
以下基本规则使应用程序能够创建和处理文件和目录的有效名称,而不考虑文件系统:
- 使用句点将目录或文件名称中的基文件名与扩展名分开。
- 使用反斜杠 (\) 分隔路径的组成部分。反斜杠将文件名与其路径分开,将一个目录名称与路径中的另一个目录名称分开。不能在实际文件或目录的名称中使用反斜杠,因为它是将名称分隔为组件的保留字符。
- 根据需要使用反斜杠作为卷名的一部分,例如“C:\”在通用命名约定 (UNC) 名称的“C:\path\file”或“\\服务器\共享\路径\文件”中的“\\服务器\共享”中。有关 UNC 名称的详细信息,请参阅最大路径长度限制部分。
- 不要假定区分大小写。例如,将名称 OSCAR、Oscar 和 Oscar 视为相同,即使某些文件系统(如符合 POSIX 的文件系统)可能将它们视为不同。请注意,NTFS 支持 POSIX 语义以区分大小写,但这不是默认行为。更多信息,请参见创建文件。
- 卷指示符(驱动器号)同样不区分大小写。例如,“D:\”和“d:\”参考同一卷。
- 使用当前代码页中的任何字符作为名称,包括 Unicode 字符和扩展字符集 (128–255) 中的字符,但以下字符除外:
- 以下保留字符:
- <(小于)
- >(大于)
- :(冒号)
- “(双引号)
- /(正斜杠)
- \(反斜杠)
- |(竖条或竖管)
- ?(问号)
- * (星号)
- 整数值零,有时称为 ASCII NUL 字符。
- 整数表示形式介于 1 到 31 之间的字符,允许使用这些字符的备用数据流除外。有关文件流的详细信息,请参阅文件流。
- 目标文件系统不允许的任何其他字符。
- 以下保留字符:
- 在路径中使用句点作为目录组件来表示当前目录,例如“.\temp.txt”。有关详细信息,请参阅路径。
- 使用两个连续的句点 (..) 作为路径中的目录组件来表示当前目录的父目录,例如“..\temp.txt”。有关详细信息,请参阅路径。
- 不要使用以下保留名称作为文件名:CON, PRN, AUX, NUL, COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT0, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, 和 LPT9.还要避免这些名称后跟扩展名;例如,NUL.txt 和 NUL.tar.gz 都等效于 NUL。有关详细信息,请参阅命名空间。
- 不要以空格或句点结束文件或目录名称。尽管基础文件系统可能支持此类名称,但 Windows 外壳和用户界面不支持。但是,可以将句点指定为名称的第一个字符。例如,“.temp”。