Windows下快速删除上万个文件和子目录(快速删除文件)

80酷酷网    80kuku.com

@ECHO OFF https://mokiee.com/code/172
ECHO Delete Folder: %CD%?
PAUSE
SET FOLDER=%CD%
CD /
DEL /F/Q/S "%FOLDER%" > NUL
RMDIR /Q/S "%FOLDER%"
EXIT

::更简单的方法  rmdir I:\gitHubDemo\BasePopup-master\ /S /Q
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
为什么会慢
如果直接在Windows文件管理器里删除的话(通过菜单或者键盘Del或者Shift+Del),删除这个数量的文件需要大概10几分钟,具体根据文件数量目录层次不同耗时不同。这么慢是因为在删除之前系统有个准备阶段,在这个阶段系统要计算目录和文件数量、文件总大小、估算删除所需时间,而当执行删除的时候,系统仍然要统计和计算每秒删除的速度、剩余多少、已删除文件数量,这一系列的统计和计算是让用户直观的看到删除进度,弊端就是降低了删除的速度。

通过命令行删除可以快20倍以上
1. 删除文件
DEL /F/Q/S *.*
1.
/F 强制删除只读文件

/Q 在模糊文件名匹配删除的时候,不询问是否删除

/S 删除当前目录和子目录中指定文件

上面这个命令在删除的过程中会输出被删除文件路径和状态,本来执行这个命令就是因为文件太多,再输出这个比较烦人,所以通过下面这个命令避免输出任何信息

DEL /F/Q/S *.* > NUL
1.
2. 删除目录
DEL命令只负责删除文件,删除目录需要下面这个命令,​ ​文档​​里指出它不能删除包含隐藏和系统文件的目录

RMDIR /Q/S vendor
1.
/Q 不询问是否删除目录和子目录

/S 删除指定目录中的子目录和文件

3. 批处理
保存下面代码到fastdel.bat中

@ECHO OFF
ECHO Delete Folder: %CD%?
PAUSE
SET FOLDER=%CD%
CD /
DEL /F/Q/S "%FOLDER%" > NUL
RMDIR /Q/S "%FOLDER%"
EXIT
1.
2.
3.
4.
5.
6.
7.
8.
把这个bat文件加到系统环境变量中的PATH去之后,就能在命令行里直接执行

FASTDEL vendor
1.
4. 在右击菜单中加入快速删除选项
WIN + R 打开运行对话框
输入regedit,回车打开注册表管理器
找到HKEY_CLASSES_ROOT\Directory\shell\
在shell目录上右击新建项
输入名字:​​快速删除​​ 回车
右击刚刚建好的​​快速删除​​目录,新建项
输入:​​command​​
单击刚刚建好的​​command​​​,然后双击​​(默认)​​
在​​数值数据​​中输入:cmd /c "cd %1 && fastdel.bat",然后点击确定(如果没有把fastdel.bat加到环境变量path的话,需要填写这个bat的绝对路径)
在Windows文件管理器中,右击某个目录,就可以在弹出的菜单中看到​​快速删除​​选项,点击之后就等于执行了fastdel.bat



 拖拽删除.bat

rmdir %1 /s /q
1.
指定路径删除.bat

rmdir  E:\work\XXX\app\build\intermediates  /s /q
1.

-----------------------------------
©著作权归作者所有:来自51CTO博客作者痛而不觉的原创作品,请联系作者获取转载授权,否则将追究法律责任
Windows下快速删除上万个文件和子目录(快速删除文件) 命令行cmd快速删除文件夹
https://blog.51cto.com/u_11288266/5395666

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: