批处理文件转到不适用于for循环

时间:2013-02-20 15:43:21

标签: batch-file goto labels

我的批处理文件中有一个循环遍历文件夹的for循环。我想跳过特定的文件夹。我可以用IF语句做到这一点,但我更喜欢GOTO,就像我在下面显示的那样。

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

但上面给我的错误:

) was unexpected at this time

2 个答案:

答案 0 :(得分:2)

这不起作用 - 您无法将跳转到控制流构造中并期望一切正常。

请查看(Windows batch) Goto within if block behaves very strangely,了解为何这是一个糟糕的主意。

答案 1 :(得分:1)

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

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