Windows 使用短文件名删除 “无法找到指定文件” 的文件夹

最近 Windows 7 桌面上有几个文件夹,其中一个文件夹名称为:“2023.05.08 【POC】某司POC”。每次尝试删除时都会提示“系统找不到指定的文件”,而且无论是通过右键删除,还是使用命令提示符,都无法成功。

image-20240923上午84809860

经过排查,发现可能是由于文件夹名中包含空格、特殊字符(比如【】)等导致的。Windows某些情况下会无法正确识别带有特殊字符或过长的路径文件,导致删除失败。

解决思路

Windows 文件系统有个特性:8.3文件名。8.3文件名(或简称8.3)是FAT文件系统的一种文件命名规范。 在与“长文件名”并称时可以称为短文件名。 广泛影响于采用FAT文件系统且不支持VFAT的DOS和Windows操作系统(如Windows 95、Windows NT 3.5及以前的版本)中。

这是一种兼容DOS时代遗留的文件命名机制,允许文件使用简短的名字。通过这个特性,可以绕过空格和特殊字符的问题,成功删除文件夹。

操作步骤

第一步:进入文件夹所在目录
  1. 打开命令提示符(以管理员身份运行)。
  2. 通过 cd 命令进入文件所在的目录。

    cd "C:\Users\YourUsername\Desktop"
    
第二步:查看文件夹的短文件名
  1. 在命令提示符中,使用 dir /x 命令列出目录中的所有文件和文件夹,同时显示它们的短文件名(8.3格式):

    dir /x
    
  2. 输出结果会显示文件夹的短名称。例如,我的文件夹“2023.05.08 【POC】阿里 POC” 对应的短文件名是 “202305~1.08” 这样的格式。短文件名的长度通常是前6个字符加上一个数字后缀。

第三步:删除文件夹
  1. 找到短文件名后,使用 rd 命令删除文件夹。仍然使用我的文件夹为例:

    rd /s /q 202305~1.08
    
    • /s:删除文件夹及其所有子文件和子文件夹。
    • /q:安静模式,不提示确认直接删除。

    如果是文件,用这个命令:

    del /f /q 202305~1.08
    
  2. 执行这个命令后,文件夹成功被删除。

参考资料


将 Homebrew 安装的 MacVim 显示在 `/Applications` 文件夹中 macOS 15 界面无响应