1

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

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

但上面给了我错误:

) was unexpected at this time
4

2 回答 2

2

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

请看一下if 块中的(Windows 批处理)Goto 的行为非常奇怪,以便很好地讨论为什么这是一个糟糕的主意。

于 2013-02-20T16:20:29.860 回答
1

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

for /d %%F in (*) do (
   if /i NOT "%%F"=="ARCHIVE"
       REM do stuff here
)
于 2013-02-20T18:03:04.540 回答