2014-01-29 67 views
0

我正在一個批處理程序,但我不知道該命令是這樣的:多「如果」語句在批處理文件

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

注意,這不是正確的語法/正確的程序指令。

如果有人知道該命令,請幫忙。

回答

0

你在你的代碼的幾個小錯誤。請注意,在批處理文件中:

  • IF命令不使用THEN字。
  • DO單詞是FOR命令的一部分,而不是IF
  • IF中,您必須將所需命令放在IF的同一行中。如果要插入括號內的幾個命令,則必須將開括號放在IF的同一行中。

這是一個有效的,如果一個例子:

IF EXIST "folder_a" (
    Some Code 
) 

IF命令你只可以在條件前使用NOT,但沒有辦法兩個條件與AND,OR結合等等。然而,您可以嵌套另一個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命令!這意味着,因爲它屬於剛剛到最後如果你不能使用ELSE部分:

SET AND=IF 
IF EXIST "folder_a" %AND% EXIST "folder_b" %AND% EXIST "folder_c" (
    ECHO The three folders exists 
) ELSE (
    ECHO folder_a and folder_b exists, but folder_c not 
) 
+0

謝謝,這是非常豐富的。然而,我的'代碼'就是我真正想做的事情,我不打算把它放在我的批處理文件中:) – Carl479

2

嘗試:

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