- @ECHO OFF
-
- CALL :CLEARDIR D:\BatHome
-
- PAUSE
- EXIT /B
-
- ::-------------------------------------------------------------------------------
- :CLEARDIR
- FOR /F %%a IN ('DIR %1 /AD /B') DO (
- ::判断目录下是否包含目录,包含子目录回调CLEARDIR
- DIR %1\%%a /AD /B|FIND /V "*">NUL&&CALL :CLEARDIR %1\%%a SUBDIR
- ECHO 删除目录文件:%1\%%a
- DEL %1\%%a /F/Q >NUL 2>NUL
- RD %1\%%a >NUL 2>NUL
- )
- ::由上层调用删除
- IF DEFINED %%2 EXIT /B
-
- ::删除自身目录
- DEL %1 /Q >NUL 2>NUL
- RD %1 >NUL 2>NUL
-
- EXIT /B
- :_CLEARDIR
复制代码 模拟递归 |