在Windows下,如何删除名称无效的文件(无效)?


14

我的Windows驱动器上有相当数量的文件名称带有冒号。(这些来自解压缩一些Unix归档文件。)

当我尝试删除它们时,Windows(XP)抱怨该文件不存在,并拒绝删除它。尝试从资源管理器或命令行删除或重命名它时,会发生这种情况。不过,chkdsk不要抱怨这些文件也不能解决问题。

关于如何摆脱它们的任何想法?


它将允许您重命名它们或将其移动到其他位置吗?如果可以移动它们,请尝试将它们全部放在一个目录中,然后删除该目录。
nhinkle

从技术上讲,它们是有效的,是Windows资源管理器无效^ W特殊需要文件管理器。
阿列克谢·阿维琴科

Answers:


7

您可能可以使用以下语法(根据Microsoft KB 320081):

del "\\?\c:\path_to_file\bad:name.ext"

另请参阅关于同一主题的“ serverfault”问题,“删除Windows中包含无效字符的文件”。

我认为旧的“ ntfsdos” sysinternals实用程序也可以删除/重命名这些文件,但是这些文件在MS采集后不再可用


@ Hello71(致@Ruggle Humsteader)-新用户无法发表评论,只能回答(他们目前需要50代表积分:superuser.com/faq)。不过,他们可以对自己的问题和答案发表评论。(因此,其他新用户不会因您的请求而感到困惑。)
迈克尔

您将如何从Windows制作这样的文件?
cutrightjm 2013年

@ekaj-可以使用其他操作系统创建文件。在Ubuntu中创建一个屏幕截图,文件名中带有冒号。然后在Windows中打开它-将无法正常工作。
SPRBRN

@rxt我知道。我的意思是,如果可以删除它,则可以将其删除。
cutrightjm 2013年

3
在Windows 7中对我不起作用
Populus

8

您可能想要尝试从Ubuntu Live CD引导并从那里删除它。


昨天,我在Ubuntu中保存了一个屏幕截图,然后尝试在Windows VM中将其打开。它拒绝打开,文件类型错误或其他错误。然后我意识到这可能是文件名中的冒号,而我在Windows中无法删除。我在Nautilus中更改了名称,然后可以打开文件。
SPRBRN

5

关闭保存在包含此类文件的驱动器中的所有文件(如果已打开)。现在,打开驱动器属性。

“我的电脑”->“右键单击此驱动器”>属性

然后,进入“ 工具 ”选项卡,然后点击“ 立即检查 ”下的“错误检查”的标签。

[点击此处查看图像]()

这将卸载您的驱动器并扫描整个驱动器以查找错误,最终它将删除具有非法名称的此类文件。完成后,它将显示一条消息,指出某些文件已修复。

我已从外部硬盘成功删除了此类文件。


我希望它显示了要解决的问题的列表,但这在Windows 8.1中对我有用。
ToastyMallows 2015年

经过20次尝试后,对我有帮助的第一件事。这使用chkdsk修复了很多东西。
oshell

1

您可以在命令行(CMD)中轻松完成此操作,而无需任何高级程序。

  1. 使用旧的短符号重命名文件/文件夹(例如Filename,FILENA〜1)和。要获取表示法,请导航到包含名称无效的文件夹/文件的目录,然后键入:

    目录/ x

  2. 通过使用以下命令将其重命名为有效名称:

    ren FILENA〜1文件名

  3. 现在,在CMD或Windows资源管理器中删除有效的文件/文件夹:

    删除文件名


0

要在Windows 7上解决此问题,请执行以下操作:

chkdsk C:/r

0

如果其他所有操作均失败,则可能需要直接在NTFS中编辑名称。

我已经使用Active @ Disk Editor成功完成了它。请谨慎操作。

  • 打开程序
  • 选择浏览我的电脑
  • 找到你的文件
  • 在按钮栏或上下文菜单中选择“检查文件记录”
  • 在“编辑”下拉菜单或上下文菜单中启用“允许编辑内容”
  • 在Unicode列中找到名称,然后单击该名称,并用一个好的符号覆盖不良的符号,例如字符或破折号。记住重命名的方式和方式,下一步将需要它。
  • 返回我的电脑标签
  • 在树形视图中选择文件的父目录
  • 在按钮栏或上下文菜单中选择“检查文件记录”
  • 在左侧的树视图中,找到属性$ A0(粗体),将其打开,找到$ INDEX_ALLOCATION,运行数据,第一个集群,单击值,它应该是交互式的。
  • 找到名称并按照与上一步相同的方式对其进行编辑。如果目录中有很多文件,则可能需要向下滚动才能找到它。
  • 如果确定没有意外覆盖其他任何数据,请单击“保存”。否则,请关闭选项卡而不保存所做的更改,然后仔细地再次执行所有操作。
  • 重启。

如果仍然无法访问文件或目录,请立即尝试chkdsk


-2

您可能要尝试的另一种替代方法是引入CygWin(Windows的bash外壳)。这将允许您将UNIX命令应用于DOS文件夹。


1
如果您经常在Windows机器上处理Unix文件,则安装cygwin总是一个好主意。否则,在出现这种情况时,可能更适合从Linux live CD引导和删除文件。
Marnix A. van Ammers,2010年

5
不幸的是,我尝试了cygwin,但这无济于事。8- {即使cygwin也无法删除文件。
汉斯·彼得·斯特尔

6
cygwin工具仍然依靠Windows API删除文件。如果Windows API拒绝文件名,则Windows无法使用标准文件工具执行任何操作。我还建议从备用操作系统访问文件系统。
dolmen

我刚刚尝试用Cygwin访问ext3驱动器上带有冒号的文件,即使这样也不起作用。
洛朗(Larent),2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.