在 Windows 7 中,我无法复制|
名称中包含的文件。出现错误Can not find the file
。我有大约 30GB 的文件,所有文件都包含该字符。知道如何将它们复制到另一个 NTFS 分区吗?
答案1
命令行是你的朋友。
打开CMD
并CD
转到文件所在位置。
输入后dir /X
,它将向您显示带有 等的旧 DOS 8.3 名称~1
以及~2
长文件名。
然后您可以使用 8.3 名称进行复制/重命名
重命名时可以混合使用 8.3 和长文件名:
ren THISIS~1.TXT "this is renamed.txt"
将工作
答案2
前缀\\?\
告诉 Windows 您的路径完全没问题,您不想对其进行任何处理。这意味着它不太宽容。例如dir "\\?\C:"
不起作用。正确的路径是dir "\\?\C:\"
。
这应该可以帮助您绕过使用 NTFS 文件名的限制|
。但是,您仍应引用文件名,以便 CMD.EXE 不会解释|
。
答案3
文件名中的无效字符很快就会引发问题。我建议您重命名所有文件以避免进一步的问题。
这应该可行(但未经测试):
下载Ubuntu并刻录 Live CD。
从 Live CD 启动。
打开终端,转到包含奇数文件的文件夹并执行
find . | grep "|" | awk '{ OLD=$0; gsub(/\|/, "_"); print "mv \"" OLD "\" \"" $0 "\"" }' | sh
这应该将所有|
s 替换为_
s。
答案4
我原本想和丹尼斯提同样的建议。有很多应用程序适用于 Windows但我不知道他们如何更好地重命名带有“无效”字符的文件。