我有一个批处理文件,应该识别最小的目录并删除所有其他的指令,只留下最小的目录。
识别工作正常,但删除其他较大的文件夹并不起作用。以下是我现在的情况。需要改变什么?
@echo off
setlocal EnableDelayedExpansion
rem Get size of all folders
set smallestSize=9999999999
for /D %%a in (*) do (
set size=0
for %%b in (%%a\*.*) do set /A size+=%%~Zb
if !size! lss !smallestSize! (
set smallestSize=!size!
set smallestName=%%a
)
)
echo Deleted folder: "%smallestName%"
pause
rem Delete all folders, except the smallest one.
for /D %%a in (*) do (
if "%%a" neq "%smallestName%" rmdir /S /Q "%%a"
答案 0 :(得分:0)
可能是一个简单的拼写错误 - 最后for/do