这对我来说非常重要,命名包含这些字符的文件/文件夹。
这对您可能很重要,但是您必须放手,并找到其他解决问题的方法。
处理文件名的Windows OS函数调用不允许使用这些字符。
明确禁止使用它们,因为它们还有其他用途:
- \-保留用作路径分隔符和转义符
- / -保留用作路径分隔符
- : -保留用作驱动器名称定界符
- *和?-保留用作通配符的字符
- "-保留用于引用包含空格的名称
- <, >和|-保留用作命令重定向运算符
当然,您可以使用其他操作系统创建名称包含这些字符的文件(只要该操作系统可以读取/写入Windows文件系统)。
但是,您将无法使用任何Windows程序对这些文件执行任何操作,并且它们将无法理解文件名并会产生错误。
命名文件,路径和命名空间
命名约定
以下基本规则使应用程序可以创建和处理文件和目录的有效名称,而与文件系统无关:
...
使用当前代码页中的任何字符作为名称,包括Unicode字符和扩展字符集(128–255)中的字符,但以下各项除外:
源命名文件,路径和命名空间
但是我还是很想这样做。
安装cygwin并使用touch
。
除了以下工作以外,我尚未测试所有可能性:
touch :
touch \|
touch \"
touch \>
输出示例:
DavidPostill@Hal /f/test/impossible
$ ll
total 0
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:03 '"'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 :
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 '|'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:07 '>'
如您所见,它们在Windows中不可用:
F:\test\impossible>dir
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\impossible
10/08/2016 21:07 <DIR> .
10/08/2016 21:07 <DIR> ..
10/08/2016 21:03 0
10/08/2016 21:02 0
10/08/2016 21:07 0
10/08/2016 21:02 0
4 File(s) 0 bytes
2 Dir(s) 1,772,601,536,512 bytes free