[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何列出所有空目录并删除?

其实功能需求很简单,就是删空目录,论坛里也找到现成的代码并且测试没问题:
  1. for /f "delims=" %%a in ('dir . /b /ad /s ^|sort /r') do rd /q "%%a" 2>nul
复制代码
但同时我希望列出所有删除的空目录以便检查确认,于是我试了好多办法,比如把rd命令的错误信息输出到exist文件,通过判断这个文件的内容来输出路径,结果就是它只会输出第一个空路径,后面的就不显示了(但不影响删除)。。。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo 删除空目录:
  4. for /f "delims=" %%a in ('dir . /b /ad /s ^|sort /r') do (
  5. rd /q "%%a" 2>exist
  6. set /p value=</.exist
  7. set value=!value:~0,6!
  8. if NOT "!value!"=="目录不是空的" echo %%a
  9. )
  10. echo 空目录删除完成!
  11. echo.
  12. echo.
  13. pause
复制代码
大神帮我改改啊,问题到底出在哪?

回复 7# qixiaobin0715


    对哦,这个思路就很简单清晰,感谢~

TOP

返回列表