最近用到的 指令 啊阿啊
FOR /F usebackq %i IN (`dir *_P10 *_110 *_210 /B`) DO xcopy %i C:\Ubuntu10.10\not_relo.121.15.23N_all\%i /S
標籤:batch
Batch if
在命令列中鍵入
help if
顯示:
在批次檔中執行條件處理。
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename commandNOT 表示 Windows XP 應該只有在條件為偽時
才執行命令。ERRORLEVEL number 當上一個執行的程式傳回的結束碼大於或
等於指定數字時,則條件為真。string1==string2 當指定的文字字串相符合時,則條件
為真。EXIST filename 如果指定的檔名存在時,則條件
為真。command 指定當條件為真時所要執行的命令。
命令之後可以接著 ELSE 命令。當指定條件為
偽時,緊接在 ELSE 命令之後的命令
將會被執行。ELSE 子句必須出現在 IF 之後的同一行。
例如:
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
Batch Set
在命令列下鍵入
help set
Set 說明
顯示、設定或移除 cmd.exe 環境變數。
SET [variable=[string]]
variable 指定環境變數名稱。
string 指定設定給變數的一系列字元。僅鍵入 SET 而不加上任何參數,可以顯示目前的環境變數。
如果您啟用了擴充命令,SET 命令有以下的改變:
如果執行 SET 命令而且只包含變數名稱,沒有等號或數值的話,
命令會顯示出所有字首符合 SET 命令中指定變數名稱的所有變數
值。例如:
SET P
會列出所有以 ‘P’ 為開頭的環境變數。
如果在目前的環境中找不到變數名稱,SET 命令會將 ERRORLEVEL
設為 1。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 命令
格式: