如何在 Windows 中删除文件名太长的文件?

如何在 Windows 中删除文件名太长的文件?

我妻子有几个文件和文件夹,不知何故,它们的文件名导致无法通过正常方式或命令行删除。我认为文件名太长是因为文件夹结构的深度。有谁知道有什么好的实用程序可以清理这样的文件吗?

答案1

当你想彻底删除一个目录并且它包含长路径时,robocopy这样做效果非常好:

mkdir empty_dir
robocopy empty_dir the_dir_to_delete /mir
rmdir empty_dir
rmdir the_dir_to_delete

这是因为 robocopy 内部使用支持 Unicode 的 Win32 函数版本,并以\\?\文件路径作为前缀;这些函数的限制是 2¹⁶-1(32,767)个字符,而不是 259 个。

您可能需要多次执行此过程才能删除所有文件。

答案2

从命令提示符:

dir /X

这将以短名称格式列出您的文件/文件夹。然后使用与所写完全相同的短名称来删除文件:

del LONGF~1.txt

答案3

我逐步进入路径,将每个连续的父文件夹重命名为“1”并尝试删除。每次您都可以有效地缩短路径,而且我从未需要超过 4 或 5 个目录,直到我最终能够删除整个目录结构(这可能是也可能不是您想要的)。您也可以从最后一个子文件夹开始执行此操作,然后向上或向下进行。

答案4

在某些程序中,包括命令提示符(cmd.exe),您可以通过在完整路径前加上前缀来解决文件长度限制,如下\\.\所示:

\\.\C:\some directory\other directory\a 长名称文件

相关内容