批处理文件的最后一步不起作用......为什么?

时间:2014-11-02 04:15:08

标签: batch-file directory identify

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

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

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

1 个答案:

答案 0 :(得分:0)

可能是一个简单的拼写错误 - 最后for/do

缺少近似括号