最近整理台式电脑,准备重装系统。在备份资料的时候发现,里面有太多太多的空文件夹,有的是之前下载的 800G 最新学习资料看完只删文件的;有的是下载学习资料自带了很多广告和空文件夹的,但是资料很宝贵又不舍得全删除;再加上自己软件安装、卸载、移动等生成的空文件,简直不要太多……一个个删要到猴年马月,So,能自动的缙哥哥绝不手动。
删除空文件夹原理
for 命令,循环读取执行操作。
dir . /b /ad /s,使用空格式(/b)显示指定目录(当前目录(.))和所有子目录中(/s)的文件属性(/a)为目录的文件(目录也是一种特殊的文件)。简单说就是递归列出所有目录。
sort /r 逆序排序。| 为管道符,将|之前的命令的输出作为之后命令的输入。这里的效果就是 逆序排列,这样子目录就会排列在前面了。
for /f “delims=” %%a in (‘dir . /b /ad /s ^|sort /r’) do 把结果传给for循环,依次执行do后面的命令。
“delims=”用于指定分隔符。因为()中是嵌套的命令,所以要用单引号’’。
‘dir . /b /ad /s ^|sort /r’这里的^是转义字符。
rd /q ”。rd命令默认是删除空文件夹,/q是安静模式,不要求确认。
删除文件命令 del
若是想删除文件,输入del 盘符名:\文件名,比如,我想删除一个在F盘的名为123.txt的文件,则输入 del f:\123.txt 按回车就能删除该文件了。当然,该命令只能删除文件,不能删除文件夹。若要用该命令删除一个文件夹,会显示找不到文件123.txt。
删除文件夹命令 rm
若是想删除文件夹,输入rd 盘符名:\文件夹名称,比如,我想删除一个在D盘的名为wo的文件夹,则输入 rd d:\wo 这样就能删除文件夹了。当然这种删除方法必须要该文件夹是空文件夹,不然删除不了。
文件夹和文件一起删除
若是想将文件夹和文件一起删除,输入rd /s /q 盘符名:\文件夹名,这样会将文件夹和它里面的文件一起删除。比如,我想删除一个在F盘的名为wo的文件夹和它里面的名为123.txt的文件,输入: rd /s /q f:\wo 即可。
实例 Bat 脚本代码
Bat 脚本使用方法
复制以下代码粘贴到文本文档,然后修改自定义文件名,后缀.txt修改为.bat保存,鼠标右键点击打开即运行(或者以管理员身份运行,尤其是C盘)。
批量清理指定目录下所有空文件夹
@echo off for /f "delims=" %%a in ('dir /ad /b /s D:\^|sort /r') do ( rd "%%a">nul 2>nul &&echo 空目录"%%a"成功删除! ) pause
上方设置了D:\
,也就是说上方代码实现功能是批量删除 D 盘下的所有空文件夹。
批量清理多个磁盘下所有空文件夹
@echo off for %%i in (c d e f) do ( if exist %%i:\ ( for /f "delims=" %%a in ('dir /ad /b /s "%%i:\"^|sort /r') do ( rd "%%a" ) ) ) pause
上面的代码可以删除 C、D、E、F 中所有的空文件夹,如果你的硬盘大,盘符多,可以根据自己的需求进行添加补充。绝大部分电脑 4 个盘符都足够了。
Bat 脚本下载
懒人可以直接使用缙哥哥的空文件夹清理脚本,已经贴心的给你生成了!
- 批量清理C盘空文件夹.bat: https://n459.com/file/5210373-467770679
- 批量清理D盘空文件夹.bat: https://n459.com/file/5210373-467770676
- 批量清理E盘空文件夹.bat: https://n459.com/file/5210373-467770677
- 批量清理F盘空文件夹.bat: https://n459.com/file/5210373-467770681
- 批量清理CDEF盘空文件夹.bat: https://n459.com/file/5210373-467770673
评论前必须登录!
注册