本文共 1145 字,大约阅读时间需要 3 分钟。
批处理实现递归删除指定路径下的指定目录或文件。
@echo offrem rr.bat(Recursive Remover).rem t0nsha@20090730_2313<liaodunxia#gmail.com>SETLOCAL EnableDelayedExpansionSET WRK_DIR=%1SET RM_TYPE=%2SET RM_NAME=%3IF "%RM_NAME%"=="" GOTO :USAGEIF "%RM_TYPE%" == "-d" ( SET RM_ACTN=RD /S/Q) ELSE IF "%RM_TYPE%" == "-f" ( SET RM_ACTN=DEL) ELSE ( GOTO :USAGE)FOR /R %WRK_DIR% %%R IN (.) DO ( SET RM_PATH=%%Rrem drop the last dot. SET RM_PATH=!RM_PATH:~0,-1! IF %RM_TYPE% == -d ( FOR /F "usebackq delims==" %%D IN (`dir /a:d/b %%R`) DO ( IF "%%D" == "%RM_NAME%" ( ECHO %RM_ACTN% "!RM_PATH!%%D" %RM_ACTN% "!RM_PATH!%%D" ) ) ) ELSE IF %RM_TYPE% == -f ( FOR /F "usebackq delims==" %%F IN (`dir /a:-d/b %%R`) DO ( IF "%%F" == "%RM_NAME%" ( ECHO %RM_ACTN% "!RM_PATH!%%F" %RM_ACTN% "!RM_PATH!%%F" ) ) ))EXIT /B 0:USAGEECHO Recursive remove directory or file.ECHO rr path {-d directory ^| -f filename}ECHO.ECHO path Specifies the search path.ECHO -d directory Remove directory.ECHO -f filename Remove file.
转载地址:http://vztai.baihongyu.com/