【问题标题】:Final Step Of Batch File Doesn't Work...Why? [duplicate]批处理文件的最后一步不起作用...为什么? [复制]
【发布时间】:2014-11-02 04:15:08
【问题描述】:

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

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

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

【问题讨论】:

  • 您应该在original question 中关注您的疑问。如果上面是您运行的程序,那么您错过了最后一行(带右括号)。

标签: batch-file directory identify


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多