2013-03-01 97 views
0

我使用(和状态,这目录是不是空的?):批量删除空目录

for /f "tokens=*" %%d in ('dir /ad/b/s ^| sort /R') do rd "%%d" 
pause 

返回:

The directory is not empty. 

任何非空目录。有没有什么办法可以特别列出哪些目录不是空的而不是模糊的声明?我知道手动检查目录并不是很费力,但是这是我试图使用户更友好的更大脚本的一部分。

回答

1

rd返回ERRORLEVEL就可以使用,只是改变:

rd "%%d" 

要这样:

rd "%%d" || (echo Not empty: %%d) 

rd删除错误信息也只是重新stderrnul

rd "%%d" 2>nul || (echo Not empty: %%d) 
+0

这很好,谢谢。有没有办法只显示文件夹的名称,而不是完整的路径? – Insarov 2013-03-01 17:31:17

+1

@ user2100577 - 尝试'不为空:%%〜nd' – rojo 2013-03-01 17:43:36

+0

这正是我需要的,谢谢。我仍然习惯于奇怪的语法。 – Insarov 2013-03-01 18:18:21