批处理文件中的多个“If”语句

时间:2014-01-29 10:25:46

标签: batch-file if-statement

我正在制作一个批处理程序,但我不知道这样的命令:

IF EXIST "folder_a" AND IF EXIST "folder_b" AND IF EXIST "folder_c" THEN DO
(
    Some Code
)

请注意,语法/正确的程序命令不正确。

如果有人知道该命令,请帮助。

2 个答案:

答案 0 :(得分:2)

尝试:

if exist "folder_a" if exist "folder_b" if exist "folder_c" (do something...)

答案 1 :(得分:0)

您的代码中有几个小错误。请注意,在批处理文件中:

  • IF命令不使用THEN字。
  • DO字是FOR命令的一部分,而不是IF
  • IF中,您必须将所需的命令放在IF的同一行中。如果要插入括在括号中的几个命令,则必须将左括号放在IF的同一行中。

这是有效IF的示例:

IF EXIST "folder_a" (
    Some Code
)

IF命令中,您只能在条件之前使用NOT,但无法将两个条件与AND,OR等组合。但是,您可以嵌套另一个{ {1}}命令进入第一个:

IF

但是,你可以借助一个小技巧以更清晰的方式 编写以前的代码:

IF EXIST "folder_a" IF EXIST "folder_b" IF EXIST "folder_c" (
    Some Code
)

注意:您必须知道前一行暗示三个单独的 SET AND=IF IF EXIST "folder_a" %AND% EXIST "folder_b" %AND% EXIST "folder_c" ( Some Code ) 命令!这意味着您不能使用IF部分因为它只属于 last IF:

ELSE