缙哥哥的博客
与你分享我的点点滴滴生活

Windows 系统使用 Bat 批处理批量删除电脑空文件夹

腾讯云4核8G5M服务器三年600元,送MySQL数据库2核4G一年

最近整理台式电脑,准备重装系统。在备份资料的时候发现,里面有太多太多的空文件夹,有的是之前下载的 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 脚本下载

懒人可以直接使用缙哥哥的空文件夹清理脚本,已经贴心的给你生成了!

赞(4) 打赏
转载请注明来源及链接:缙哥哥 » Windows 系统使用 Bat 批处理批量删除电脑空文件夹
如需 WordPress 优化加速、二次开发、托管等服务,可联系我购买付费服务:点此联系我 | 近期站内热门福利:

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏