BAT批处理:递归删除当前目录下的所有空目录

@echo off
for /"delims=" %%a in ('dir . //ad /s ^|sort /r' ) do rd /"%%a" 2>nul

 

说明:这个是批处理程序,递归删除当前目录下的所有空目录,多么简洁,多么优雅的一个解决方案啊

分解说明如下:

1. 学习for循环如何写
2. 学习如何把执行的结果传给for循环
3. dir . /b /ad /s  递归列出所有目录
4. dir . /b /ad /s | sor /r 逆序排列,这样子目录就会排列在前面啦
5. for /f "delims=" %%a in ('dir . /b /ad /s ^|sort /r') 把结果传给for循环
6. for /f "delims=" %%a in ('dir . /b /ad /s ^|sort /r' ) do rd /q "%%a" 2>nul 挨个删除,不回显,不报错

 

你可能感兴趣的:(BAT批处理:递归删除当前目录下的所有空目录)