如何使用特殊字符(如 \ / : * )创建文件夹名或文件名?" < > |

Kir*_*ani 10 windows filenames windows-10

我的问题是,我无法使用特殊字符(如 \ / : * )命名文件夹或文件?" < > | 在基于 Windows 的操作系统中这对我来说非常重要,它给出了包含此类字符的文件/文件夹的名称。

我已经搜索并参考了很多网站,对于这个问题,但都是无望的。我还阅读了 Microsoft 支持页面,他们建议使用其他字符。这是它的链接,https://support.microsoft.com/en-us/kb/177506

我已经尝试过 Alt 按钮 + 这种特殊字符的 ASCII 代码编号,从小键盘键,只是示例重命名文件/文件夹并按 Alt+60(对于 < 字符)它仍然给出消息,文件名不能包含以下任何一项人物: \ / : * ?" < > |

建议我合适的解决方案,以便我可以使用此类特殊字符为我的文件/文件夹命名。

Dav*_*ill 18

这对我来说非常重要,包含这些字符的文件/文件夹的命名。

这对您来说可能很重要,但您将不得不放手并找到解决问题的不同方法。

处理文件名的 Windows 操作系统函数调用不允许使用这些字符。

它们是特别不允许的,因为它们还有其他用途:

  • \- 保留用作路径分隔符和转义
  • / - 保留用作路径分隔符
  • : - 保留用作驱动器名称分隔符
  • *?-保留用作通配符的字符
  • "- 保留用于引用包含空格的名称
  • <, >|- 保留用作命令重定向操作符

当然,您可以使用不同的操作系统创建名称包含这些字符的文件(只要该操作系统可以读/写 Windows 文件系统)。

但是,您将无法使用任何 Windows 程序对这些文件执行任何操作,并且它们无法理解文件名并会产生错误。


命名文件、路径和命名空间

命名约定

以下基本规则使应用程序能够为文件和目录创建和处理有效名称,而不管文件系统如何:

...

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

  • 以下保留字符:

    < (less than)
    > (greater than)
    : (colon)
    " (double quote)
    / (forward slash)
    \ (backslash)
    | (vertical bar or pipe)
    ? (question mark)
    * (asterisk)
    
    Run Code Online (Sandbox Code Playgroud)
  • 整数值零,有时称为 ASCII NUL 字符。
  • 整数表示在 1 到 31 范围内的字符,但允许这些字符的备用数据流除外。有关文件流的更多信息,请参阅文件流。
  • 目标文件系统不允许的任何其他字符。

命名文件、路径和命名空间


但无论如何我真的很想这样做。

安装cygwin并使用touch.

我还没有测试所有的可能性,但以下工作:

touch :
touch \|
touch \"
touch \>
Run Code Online (Sandbox Code Playgroud)

示例输出:

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 '>'
Run Code Online (Sandbox Code Playgroud)

如您所见,它们在 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
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • @Kirit 我已经告诉过你**这是不可能的**。 (3认同)
  • @Kirit 您可以使用这些字符创建文件,但 Windows 无法对它们执行任何操作,并且当您尝试在 Windows 中使用这些文件时会出错。 (2认同)