為什麼要分享這個冷知識?
因為現在是冬天了,所以很冷。
好吧,我承認這是個很無聊的一篇文章,大家就將就點看吧 :)
首先呢,我們都知道Command Prompt 是執行CMD.EXE後就會產生出來的一個畫面,那我們能不能寫個批次檔去執行CMD.EXE又可以執行很多筆指令呢? 答案是可以的,做法就是寫個批次檔,然後透過"雙引號"去把所有指令包起來,指令跟指令中間加入 && 就可以了:
CMD.EXE "指令1 && 指令2 && 指令3....&&指令n"
底下就是兩個批次檔的範例,批次檔內會去執行簡單的DOS指令,執行完畢後會出現一個Command Prompt停在那邊。
那大家可能會好奇我用在哪裡? 因為我使用SlickEdit 去編寫BIOS CODE,因為懶惰,所以想說我只要開啟 BUILD TIP底下任何一個檔案,然後按個鈕,我就可以進入到工作目錄並且設定好Visual Studio 的環境讓我可以直接Compiler code....就醬~
※ 上圖可以看到我在SlickEdit 內開啟了一個檔案,叫做NT32Pkg.dsc ,然後我設定了兩個快捷鈕,這兩個快捷鈕可以讓我選擇設定VS2012/VS2010的環境,按下去之後他會幫我呼叫設定環境的批次檔,環境設定好之後會直接幫我進入到NT32Pkg.dsc 目錄(E:\UDK2014.SP1\NT32Pkg),然後我就可以很方便地在Command Prompt內做我要做的事情了。
底下是我在那兩個快捷鍵內的設定值,有分成CMD.EXE的設定方式跟BATCH的方式,差別就只是在於呼叫CMD.EXE去做事情還是自己寫個批次檔,然後呼叫那個批次檔而已。
CMD.EXE的方式:
cmd /E:ON /V:ON /k ""C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat" && cd/d "%f\..""
BATCH FILE的方式(除了描述在快捷鈕之外,要多寫一個批次檔):
"C:\Apps\TEST.bat" %f
@ECHO OFF
CALL "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat"
cd/d "%1\.."
CMD.EXE
上述中的%f 是SlickEdit內的參數,%f = 目前檔案的完整路徑。
以上面的範例來說:
%f = e:\UDK2014.SP1\Nt32Pkg\Nt32Pkg
最後,我承認科技使用來自於人的惰性,不然也不會有這個冷知識可以分享,哈~