為什麼會有這篇的產出,是因為目前因為需要批大量的改程式作業,假如套用了批次檔,會稍微比起開起編譯平台在執行的快多了。
雖然東西還很東缺西缺,不過總比沒有紀錄的好多了!以後有機會還會再補充。
========================================================================
- 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的檔案,進行刪除的操作
 
沒有留言:
張貼留言