无法删除带有尾随空格的Windows 7上的文件夹

 双鱼天脎 发布于 2023-02-04 13:08

问题:我有一个Windows 7子目录,我无法删除.

虽然我在这里认识其他人,并且互联网上的其他许多人已经询问了这类Windows 7文件系统的常见问题,但我的问题特别涉及Windows 7上具有尾随空格的特定类别的不可删除文件.目录名称.

有没有更好的工具来检查和/或编辑我的文件系统(如果需要,可以用十六进制)?


操作系统:我正在运行x64专业版,它已完全更新.

已经尝试过:我已经阅读了很多关于这个主题的网页,并尝试了许多潜在的解决方案.我最近使用PowerShell一直在研究这个问题,它似乎完全能够处理系统内部.此时我正在为文件系统寻找类似十六进制编辑器的东西.

它不是由以下原因引起的:

一个长文件名,或

通过位于漫长的道路,

它不是由以下原因修复的:

使用旧的DOS文件命名方案重命名

运行整个文件系统的CHKDSK

关闭可能正在访问它的所有其他程序

禁用病毒软件

使用Delinvfile.exe 4.5实用程序.注意:Delinvfile说它无法修复"文件和文件夹,其短名称包含无效字符.这些包括[文件名中不允许的]字符:

<  -  Less than symbol
>  -  Greater than symbol
:  -  Colon
"  -  Quotation Mark
/  -  Forward Slash
|  -  Vertical Bar
?  -  Question mark
*  -  Asterisk

是什么造成的?在我的例子中,几个月前使用我用于源树备份的自定义PHP程序创建了不可删除的子目录.它似乎在名称中有空格或其他不良字符,但我不能确定.它在文件目录中可见,但不能删除,重命名,rmdir等.

调查:我可以在我的文件系统上移动它并将其放在C:中名为'hold bad subdir'的子目录中.

在这里,您可以使用PowerShell查看它.首先,我使用Get-ChildItem(与别名'dir'相同)显示它:

PS C:\holds bad subdir> Get-ChildItem


    Directory: C:\holds bad subdir


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        1/9/2014   3:01   AM            20120530-04

如果我尝试通过键入"del"2'+ tab在cmd窗口中删除它,它将完成文件名扩展,如下所示:del"20120530-04",表明目录名末尾有一个空格.当我执行此命令时,结果是:

无法找到C:\持有坏子目录\ 20120530-04

如果我尝试使用del 2*删除它,系统将返回,就好像它已删除它,但不是.

如果我在PowerShell中发出相同的命令,并且还带有该Force选项,它会报告"指定路径上的对象C:\ hold bad subdir\20120530-04不存在.",如下所示:

PS C:\holds bad subdir> Remove-Item 2* -Force  Remove-Item : An object at the specified path C:\holds bad subdir\20120530-04  does not exist.At line:1 char:1
+ Remove-Item 2* -Force
+ ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Remove-Item], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.RemoveItemCommand

这有点奇怪,因为目录可以清楚地看到它,但任何方法显然要么看不到它,要么无法应用它.

我还可以在Windows资源管理器中查看不可删除的子目录.当我浏览它时,它说,"这个文件夹是空的".如果我尝试删除它,我得到:

在此输入图像描述

此外,如果我查看此文件夹的属性,我可以看到名称是"20120530-04",也就是说,末尾有一个额外的空格.

在此输入图像描述

另外有趣的是,"安全"选项卡报告"(X)请求的安全信息不可用或无法显示."

它不是只读的,也不是隐藏的.


问题范围:现在,这不是一个大问题,很容易将这个子目录埋在一个偏远的子目录中,而不用担心它.

但对我来说,这已成为一项智力挑战,部分是一种了解Windows 7内容的方法.我想我很惊讶Windows中的这样一个错误可能存在于如此低的水平,而且安装了如此多的系统世界.在这一点上很难知道这是一个Windows错误,坏数据(错误进入),还是只是坏数据.

1 个回答
  • 根据您无法删除NTFS文件系统卷上的文件或文件夹(需要显示JavaScript),以下内容应该有效(请注意它使用UNC路径).

    rd "\\?\C:\holds bad subdir\20120530-04 "
    

    请务必使用cmd.exe执行此操作.它似乎不适用于PowerShell的Remove-Item(rd).

    另见:

    如何删除包含尾随空格的文件夹

    重命名/删除具有前导和尾随空格的Windows(x64)文件夹.

    2023-02-04 13:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有