-1

我有一个批处理文件,它应该识别最小的目录并删除所有其他目录,只留下最小的目录。

识别工作正常,但删除其他较大的文件夹不起作用。以下是我现在所拥有的。需要改变什么?

@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"
4

1 回答 1

0

可能是一个简单的错字 - 结尾缺少右括号for/do

于 2014-11-02T04:25:09.857 回答