我想删除一个包含数千个文件和文件夹的文件夹。如果我使用 Windows 资源管理器删除该文件夹,可能需要 10-15 分钟(并非总是如此,但经常如此)。Windows 中是否有更快的方法来删除文件夹?
其他详情:
- 我不关心回收站。
- 它是一个 NTFS 驱动器。
我想删除一个包含数千个文件和文件夹的文件夹。如果我使用 Windows 资源管理器删除该文件夹,可能需要 10-15 分钟(并非总是如此,但经常如此)。Windows 中是否有更快的方法来删除文件夹?
其他详情:
最糟糕的方法是发送到回收站:您仍然需要删除它们。下一个最糟糕的是使用 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参数相同)rmdir /s /q folder
powershell -Command "Remove-Item -LiteralPath 'folder' -Force -Recurse"
请注意,在更多情况下del
,rmdir
会留下剩余文件,Powershell 会设法删除这些文件。
使用fastcopy,一个免费的工具。它有一个删除选项,比 Windows 删除文件的方式快得多。
按照建议使用命令提示符。不久前我弄清楚了为什么资源管理器这么慢,它可以让您估计删除文件/文件夹需要多长时间。为此,它必须扫描项目的数量和大小。这需要很长时间,因此大文件夹的等待很可笑。
此外,如果文件存在特定问题,资源管理器将停止,
并且要删除很多文件夹,您还可以使用发布的命令 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
试试Shift+ Delete。为我在 2 分钟内完成了 24.000 个文件。