![文件名中的管道字符无效](https://linux22.com/image/1606959/%E6%96%87%E4%BB%B6%E5%90%8D%E4%B8%AD%E7%9A%84%E7%AE%A1%E9%81%93%E5%AD%97%E7%AC%A6%E6%97%A0%E6%95%88.png)
我在 Windows 7 Pro x64 上,我使用 Firefox 下载了一个文件,它的文件名中guerriére | warrior.PNG
带有竖线字符 ( |
),我找不到如何删除或重命名它。
运行fsutil 8dot3name query K:
显示;K:
是一个 USB NTFS 驱动器:
Disable8dot3 的卷状态为 0(启用 8dot3 名称创建)。NtfsDisable8dot3NameCreation 的注册表状态为 0(在所有卷上启用 8dot3 名称创建)。基于以上两个设置,K: 上启用了 8dot3 名称创建。
但是dir /x
命令不显示短文件名。
我曾尝试使用unlocker
和DelinvFile
。
尝试删除它或我收到响应的文件夹:
您指定的文件名无效或者太长。请指定其他文件名。
答案1
最简单的方法是启动带有 NTFS-3G 的 Linux 系统(例如 Ubuntu Live CD),并使用它来重命名文件。(使用终端时,需要用引号括住带有管道符的文件名。)
你可能也可以使用 WSL 来执行此操作。
(管道字符在 NTFS 中总体上是有效的,但在 Windows 中无效。当然问题是,Firefox 是如何通过正常的 Windows API 偷偷获取这个文件名的……)