224

我想删除一个包含数千个文件和文件夹的文件夹。如果我使用 Windows 资源管理器删除该文件夹,可能需要 10-15 分钟(并非总是如此,但经常如此)。Windows 中是否有更快的方法来删除文件夹?

其他详情:

  • 我不关心回收站。
  • 它是一个 NTFS 驱动器。
4

6 回答 6

1040

最糟糕的方法是发送到回收站:您仍然需要删除它们。下一个最糟糕的是使用 Windows 资源管理器进行 shift+delete:它会在开始删除任何内容之前浪费大量时间检查内容。

下一个最好的方法是rmdir /s/q foldername从命令行使用。del /f/s/q foldername也很好,但它留下了目录结构。

我发现最好的是一个两行批处理文件,第一遍删除文件并输出到 nul 以避免为每个单个文件写入屏幕的开销。然后第二遍清理剩余的目录结构:

del /f/s/q foldername > nul
rmdir /s/q foldername

根据使用 Windows XP 加密磁盘的时间测试,这比单个 rmdir 快了近三倍,删除 ~30GB/1,000,000 个文件/15,000 个文件夹:rmdir大约需要 2.5 小时,del+rmdir大约需要 53 分钟。更多信息在超级用户

这对我来说是一项常规任务,因此我通常将需要删除的内容移动到 C:\stufftodelete 并将这些del+rmdir命令放在 deletestuff.bat 批处理文件中。这计划在晚上运行,但有时我需要在白天运行它,所以越快越好。

del可以在此处找到有关命令的 Technet 文档。关于上面使用的参数的附加信息:

  • /f- 强制(即删除文件,即使它们是只读的)
  • /s- 递归/包含子文件夹(此定义来自SS64,因为 technet 只是简单地说明了“指定文件”,这没有帮助)。
  • /q- 安静(即不提示用户确认)

rmdir 此处的文档。参数是:

  • /s- 递归(即与del的/s参数相同)
  • /q- 安静(即与del的/q参数相同)
于 2011-06-01T21:49:07.383 回答
374

使用 Windows 命令提示符:

rmdir /s /q folder

使用 Powershell:

powershell -Command "Remove-Item -LiteralPath 'folder' -Force -Recurse"

请注意,在更多情况下delrmdir会留下剩余文件,Powershell 会设法删除这些文件。

于 2008-10-09T10:59:14.157 回答
9

使用fastcopy,一个免费的工具。它有一个删除选项,比 Windows 删除文件的方式快得多。

于 2009-05-23T14:12:51.590 回答
4

按照建议使用命令提示符。不久前我弄清楚了为什么资源管理器这么慢,它可以让您估计删除文件/文件夹需要多长时间。为此,它必须扫描项目的数量和大小。这需要很长时间,因此大文件夹的等待很可笑。

此外,如果文件存在特定问题,资源管理器将停止,

于 2008-10-09T11:04:13.647 回答
2

并且要删除很多文件夹,您还可以使用发布的命令 spdenne 创建一个批处理文件。

1)制作一个包含以下内容的文本文件,用您的文件夹名称替换引号中的文件夹名称:

rmdir /s /q "My Apps"  
rmdir /s /q "My Documents"  
rmdir /s /q "My Pictures"  
rmdir /s /q "My Work Files"

2) 以 .bat 扩展名保存批处理文件(例如 deletefiles.bat)
3) 打开命令提示符(开始 > 运行 > Cmd)并执行批处理文件。您可以在命令提示符下执行此操作(用 X 代替您的驱动器号):

X:  
deletefiles.bat
于 2009-03-10T07:27:48.053 回答
-4

试试Shift+ Delete。为我在 2 分钟内完成了 24.000 个文件。

于 2011-06-15T09:16:36.483 回答