批量删除Win10电脑系统指定目录或盘符下空文件夹

最近整理台式电脑里的文件,准备备份到云盘中,可是发现Windows10电脑系统里面有太多太多的空文件夹,一个个删要到猴年马月,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 脚本使用方法

复制以下代码粘贴到文本文档,然后修改自定义文件名,后缀.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 个盘符都足够了。