為什麼會有這篇的產出,是因為目前因為需要批大量的改程式作業,假如套用了批次檔,會稍微比起開起編譯平台在執行的快多了。
雖然東西還很東缺西缺,不過總比沒有紀錄的好多了!以後有機會還會再補充。
========================================================================
- Batch
- %1 ~ %9
- 指的是輸入的參數,像是把檔案拖曳到bat檔案上面,而第一個檔案就是指%1
- Echo
- 打開"命令式"的顯示,或關掉顯示
- Echo [{on | off}]
- 顯示訊息,訊息的部分可以替換成參數,但要以%%包夾起來
- Echo [message]
- Echo %GPP%
- 換行指令
- @Echo:
- @
- 可以將該行命令隱蔽起來
- @Echo %GPP%
- Rem
- 註解的指令,在編輯程式碼時,可以用來作為提醒之助解用途
- Echo Setup Parameter
- Set
- 設定參數的指派指令
- SET PF=%PROGRAMFILES% //把%PROGRAMFILES%指派給PF
- %PROGRAMFILES%是指系統資料夾
- %TIME%是指系統時間
- ※未完
- 字元替換用法
- SET T1=%T0::=% //將T0中的':'替換成'',再指派給T1
- SET T2=%T1: =0% //把T1中的空白替換成0,再指派給T2
- :、GOTO
- : 將後續字串視為標籤,也就是TAG,可以搭配GOTO來使用
- GOTO 移動到 :XX標籤位置的指令
- :reLoop
Pause
GOTO reLoop //跑回:reLoop位置 - If
- If Else
- 假如遇到選擇的情況,可以透過IF ELSE 來幫忙分類
- If (Not) "%1" == "XX" (
Statement1
) Else ( Statement2
) //假如%1(NOT)等於XX,就執行S1,不等於就找ELSE的S2 - IF "%~x2"==".cpp" (
"%GPP%" -c "%1" -o "%~dpn1%.o"
) ELSE (
GOTO ALL_END
) //參照環境路徑~x%?,假如第二個檔案的附檔名是.cpp,那就跑true - If Exist
- 對於某種類別或是特定檔案進行偵測
- IF (Not) Exist "XX" Statement1 ←假如(Not)存在XX這東西,就執行S1
- Shift /x
- 將第x個檔案的參數順位,向前搬移
- SHIFT /1 //拖曳了三個檔案進.bat,而執行到了SHIFT 就會把第一個檔案蓋掉,讓第二個檔案變成第一個檔案,後續的檔案進行遞補
- Call
- start
- for
- 環境變數
- %~fI
- 完整的路徑包含副檔名
- %~dI
- I 所在的硬碟路徑
- %~pI
- I所在的資料夾路徑,除了硬碟路徑
- %~nI
- 檔案名稱
- %~xI
- 副檔名
- %~sI
- 完整的路徑變成短址
- %~aI
- 檔案的屬性
- %~tI
- 檔案創建的日期/時間
- %~zI
- 檔案的大小
- %~$PATH:I
- 查找列在路徑環境變數的目錄
- 變數組合
- %~dpnI
- dI、pI、nI的串接
- %~nxI
- 檔案名稱與副檔名串接
- %~fsI
- 完整的路徑變成縮址
- %~dp$PATH:I
- %~ftzaI
- 文件屬性 + 日期 + 檔案大小 + 完整路徑名
- MS-Dos
- move *_fail.cpp fail\
- 將檔案名稱最後為_fail.cpp的檔案,移動到fail的資料夾底下
- del *.exe
- 將檔案的副檔名為.exe的檔案,進行刪除的操作
沒有留言:
張貼留言