Felix_SANA 'S BLOG
524 words
3 minutes
强制删除某些不存在的文件/文件夹

前言#

我在编辑项目文件的时候,遇到了新建项目文件出错的问题,然后去资源目录查看,结果文件夹直接打不开,但是文件夹实际还在那里。

然后尝试删除但是又提示找不到项目,确定不了位置,简直快把我强迫症逼疯了。实际情况如下图。

经过#

在网上找了许多方法,什么文件夹无法删除,文件夹不存在,文件夹不在此位置之类的等等许多问题,和我这里这个情况都没有任何关系。

后面我某种机缘巧合之下,想起了一个方法,想试试用管理员权限的Terminal进行删除试试,结果可想而知,当然以失败告终,连 delrmrdRemove-Item -Path "XXX" -Recurse -Force 等命令都直接提示报错。你使用 lsGet-ChildItem 还是可以显示出该文件的文件夹信息,但是就是删除不掉。

以下为中间尝试 rd 命令时候的报错信息,其他的命令基本都差不多。。。

> rd "C:\Users\xxxxx\AppData\LocalLow\foxxlight\AzureArchive\data\projects\KeiEnd-War Never Changes"
rd : Cannot find path 'C:\Users\xxxxx\AppData\LocalLow\foxxlight\AzureArchive\data\projects\KeiEnd-War Never Changes' b
ecause it does not exist.
At line:1 char:1
+ rd "C:\Users\xxxxxx\AppData\LocalLow\foxxlight\AzureArchive\data\proje ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\xxxxxx\...r Never Changes:String) [Remove-Item], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

经过了一段时间的挣扎,我放弃了…………

.

.

.

.

.

.

.

.

.

才怪……!!!

解决#

使用命令提示符获取短路径名并删除文件夹#

  1. 打开命令提示符(CMD):

    Win + R,输入 cmd,然后按 Enter

  2. 导航到目标文件夹的上一级文件夹:

    我这里是这个目录,你记得cd到你自己那个文件夹无法删除的目录那里。

    cd C:\Users\xxxxxx\AppData\LocalLow\foxxlight\AzureArchive\data\projects
    
  3. 使用 dir /x 命令列出文件夹内容,并查看目标文件夹的短路径名:

    dir /x
    

    你应该会看到类似这样的输出,其中包含短路径名:

    中间的 KEIEEE~1 就是

    2024/07/07  13:28    <DIR>          KEIEEE~1     KeiEEEEEE-War Never Changes.
    
  4. 使用短路径名删除文件夹。例如,如果短路径名是 KEIEEE~1,则使用以下命令:

    rd /s /q KEIEEE~1
    
强制删除某些不存在的文件/文件夹
https://blog.systemannounce.com/posts/learning/system/force-delete-document/
Author
Felix_SANA
Published at
2024-07-07