我的 Windows 驱动器上有大量文件的名称中带有冒号。(这些文件来自解压一些 Unix 档案。)
当我尝试删除它们时,Windows(XP)会抱怨该文件不存在,并拒绝删除它。尝试从资源管理器或命令行删除或重命名它时会发生这种情况。仍然chkdsk
没有抱怨这些文件,也没有解决问题。
关于如何摆脱它们,您有什么想法吗?
答案1
您可以使用以下语法(根据 Microsoft KB 320081):
del "\\?\c:\path_to_file\bad:name.ext"
也可以看看此服务器故障关于同一主题的问题“在 Windows 中删除包含无效字符的文件”。
我认为旧的“ntfsdos”sysinternals 实用程序也可以删除/重命名这些文件,但这些文件不再可用的MS 收购后。
答案2
您可能需要尝试从 Ubuntu Live CD 启动并从那里删除它。
答案3
关闭保存在包含此类文件的驱动器中的所有文件(如果有打开)。现在,打开驱动器属性。
“我的电脑”->“右键单击此驱动器”>“属性”
然后,转到“工具“标签并点击”现在检查“在‘错误检查’标签下。
这将卸载您的驱动器并扫描整个驱动器以查找错误,最终将删除具有非法名称的文件。完成后,将显示一条消息,说明某些文件已修复。
我成功从我的外部硬盘中删除了这些文件。
答案4
如果其他所有方法都失败,您可能需要直接在 NTFS 中编辑名称。
我已经成功地做到了Active@磁盘编辑器. 谨慎行事。
- 打开程序
- 选择探索我的电脑
- 找到你的文件
- 在按钮栏或上下文菜单中选择“检查文件记录”
- 在编辑下拉菜单或上下文菜单中启用允许编辑内容
- 在 Unicode 列中找到名称并单击它,用好符号(如字符或破折号)覆盖坏符号。记住你重命名的内容和方式,下一步你会用到它。
- 返回“我的电脑”选项卡
- 在树视图中选择文件的父目录
- 在按钮栏或上下文菜单中选择“检查文件记录”
- 在左侧的树视图中找到属性 $A0(粗体),打开它,找到 $INDEX_ALLOCATION,数据运行,第一个集群,单击该值,它应该是交互式的。
- 找到名称并按照上一步相同的方式进行编辑。如果目录中有很多文件,您可能需要向下滚动一点才能找到它。
- 如果您确定没有意外覆盖任何其他数据,请单击“保存”。否则,请关闭选项卡而不保存更改,然后小心地重新执行所有操作。
- 重启。
如果该文件或目录仍然无法访问,请chkdsk
立即尝试。