Batch if

在命令列中鍵入

help if

顯示:

在批次檔中執行條件處理。

IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command

NOT 表示 Windows XP 應該只有在條件為偽時
才執行命令。

ERRORLEVEL number 當上一個執行的程式傳回的結束碼大於或
等於指定數字時,則條件為真。

string1==string2 當指定的文字字串相符合時,則條件
為真。

EXIST filename 如果指定的檔名存在時,則條件
為真。

command 指定當條件為真時所要執行的命令。
命令之後可以接著 ELSE 命令。當指定條件為
偽時,緊接在 ELSE 命令之後的命令
將會被執行。

ELSE 子句必須出現在 IF 之後的同一行。
例如:

IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)

繼續閱讀 Batch if

Batch Set

在命令列下鍵入

help set

Set 說明

顯示、設定或移除 cmd.exe 環境變數。

SET [variable=[string]]

variable 指定環境變數名稱。
string 指定設定給變數的一系列字元。

僅鍵入 SET 而不加上任何參數,可以顯示目前的環境變數。

如果您啟用了擴充命令,SET 命令有以下的改變:

如果執行 SET 命令而且只包含變數名稱,沒有等號或數值的話,
命令會顯示出所有字首符合 SET 命令中指定變數名稱的所有變數
值。例如:

SET P

會列出所有以 ‘P’ 為開頭的環境變數。

如果在目前的環境中找不到變數名稱,SET 命令會將 ERRORLEVEL
設為 1。

SET 命令不將等號 (=) 視為變數名稱的一部份。

繼續閱讀 Batch Set

Batch FOR 兄弟

最近開始要在windows 上研究了,但是batch 並不像cshell那樣直觀,我已經有點燒起來的感覺。

For 迴圈來說,就有四個選項可以選(在介紹文裡都是分開介紹的) orz

FOR /R – 經過每個檔案的迴圈 (會進入每個子資料夾)
FOR /D – 做每個資料夾
FOR /L – 做一個範圍內的數字,(就像傳統迴圈)
FOR /F – 做在一個檔案裡的指令

這是按

help for

跑出來的介紹

對一組檔案中的每個檔案執行指定的命令。

FOR %variable IN (set) DO 命令 [command-parameters]

%variable 指定一個可以取代的參數。
(set) 指定由一或多個檔案組成的檔案組。您可使用通配字元。
command 指定命令來執行每一個檔案。
command-parameters
為所指定的命令指定變數或參數。

如果要在批次程式中使用 FOR 命令,請指定 %%variable,而不要指定
%variable。 變數名稱有大小寫的區分,所以 %i 不同於 %I。如果您啟用擴充命令,則額外支援下列的 FOR 命令
格式:

繼續閱讀 Batch FOR 兄弟