我是批处理脚本的新手,无法弄清楚如何编写批处理文件,删除具有 c:\ root 条件的特定文件夹。
条件:
动作:
删除该文件夹。
在我的示例中,应使用此批处理文件删除 c:\ root \ test1 。
C:\根
C:\根\保罗
C:\根\麦克
C:\根\麦克\分配
C:\根\麦克\分配\ assignment1.txt
C:\根\丹尼尔
C:\根\丹尼尔\考试
C:\根\皮尔
C:\根\皮尔\ quiz.txt
C:\根\ TEST1
C:\根\ TEST2
C:\根\ TEST2 \的test2.txt
如果有任何不清楚的地方,请告诉我。
非常感谢。
答案 0 :(得分:2)
您可以从此批处理开始测试文件夹的大小是否等于0
(size=0
),然后我们就可以将其删除!
试试这段代码,如果按预期得到输出,只需摆脱echo
@echo off
setlocal disabledelayedexpansion
set "folder=%~1"
if not defined folder set "folder=%cd%"
for /d %%a in ("%folder%\*") do (
set "size=0"
for /f "tokens=3,5" %%b in ('dir /-c /a /w /s "%%~fa\*" 2^>nul ^| findstr /b /c:" "') do if "%%~c"=="" set "size=%%~b"
setlocal enabledelayedexpansion
If "!size!"=="0" Echo RD "%%~na"
endlocal
)
endlocal
pause
exit