【问题标题】:Batch file goto not working in for loop批处理文件转到在 for 循环中不起作用
【发布时间】:2013-02-20 15:43:20
【问题描述】:

我的批处理文件中有一个循环遍历文件夹的 for 循环。我想跳过特定的文件夹。我可以使用 IF 语句执行此操作,但更喜欢如下所示的 GOTO。

for /d %%F in (*) do (
 if /i "%%F"=="Archive" goto nextFolder
 REM do stuff here
:nextFolder
)

但是上面给了我错误:

) was unexpected at this time

【问题讨论】:

    标签: batch-file goto labels


    【解决方案1】:

    这是行不通的——你不能进入控制流结构并期望一切都好。

    请查看(Windows batch) Goto within if block behaves very strangely,了解为什么这是一个糟糕的想法。

    【讨论】:

      【解决方案2】:

      您可以使用 NOT 排除一个或多个文件夹,而不是使用 GOTO。

      for /d %%F in (*) do (
         if /i NOT "%%F"=="ARCHIVE"
             REM do stuff here
      )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-08
        • 1970-01-01
        • 2014-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多