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