强制删除名称较大的文件

Sei*_*ria 64 windows windows-7 filesystems

我经常使用 Node.js 来管理我编写的程序的依赖关系,没什么大不了的。今天我最终得到了这样的文件夹结构:在此处输入图片说明

尝试删除任何文件时遇到此错误:

源文件名大于文件系统支持的名称。尝试移动到具有较短路径名的位置,或在尝试此操作之前尝试重命名为较短的名称。

它已经在 C:\ 中,所以它不会变得更短。

Flo*_*Flo 79

使用 Microsoft 工具robocopy.exe

  1. 创建一个新的空文件夹,例如 c:\empty
  2. 然后将该空文件夹复制到包含您要删除的长文件名的文件夹中,例如c:\myannoyingfolder. 在命令提示符中这样做:

    robocopy /MIR c:\empty c:\myannoyingfolder


小智 30

好吧,假设您要删除一棵树D:\very\long\path,您不一定需要使用任何工具,例如 Robocopy。

  1. 转到包含您无法删除的目录的驱动器的根目录
  2. 创建一个具有单个字母名称的目录,例如 D:\a
  3. 导航到要删除的目录内部,在这种情况下 D:\very\long\path
  4. 全选 ( Ctrl+ A) 并剪切 ( Ctrl- X)
  5. 导航到您刚刚创建的文件夹
  6. 粘贴 ( Ctrl- V)
  7. 现在,移动到根目录并删除临时文件夹,在这种情况下 D:\a
  8. 然后回去把原来的目录删掉

  • 第一次尝试时,这对我不起作用。但是,在重复此过程后,我可以删除更多文件夹级别中的所有内容。 (2认同)

tod*_*dmo 5

您可以将此功能集成到 windows shell 中。我对 Flo 的回答的改进太长了,无法发表评论。

Delete在 Windows 上下文菜单中添加了一个命令。

在此处输入图片说明

delete.reg文件添加注册表项以将文件夹与robodelete.bat批处理文件相关联。

删除注册表

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Delete]

[HKEY_CLASSES_ROOT\Directory\shell\Delete\command]
"Extended"=""
@="\"D:\\Documents\\robodelete.bat\" \"%1\""
Run Code Online (Sandbox Code Playgroud)

robodelete.bat

mkdir c:\empty
robocopy /MIR c:\empty %1
rmdir %1
rmdir c:\empty
Run Code Online (Sandbox Code Playgroud)

注意:您可能需要根据自己的喜好更改两个文件中的路径。

警告:无法撤消此命令。它不使用回收站,也不会在销毁文件夹之前要求 Y/N 确认!


Jos*_*Fox 5

在其他选项失败后,SuperDelete 开源命令行工具 ( GitHub ) 为我工作(Windows 10)。


Sei*_*ria 4

我开始输入这个问题,同时尝试了多种命令,包括del /Fand rmdir /S(以及在删除时按住 Shift 键以尝试绕过回收站)。我认为rmdir /S实际上删除了所有文件,因此我能够继续删除作为叶节点的文件夹,然后一次沿着树向上移动几个节点。最终我把它们全部清理干净了,但这太荒谬了。


归档时间:

查看次数:

128915 次

最近记录:

9 年,2 月 前