windows cmd prompt使用 |
發(fā)布時間: 2012/9/15 18:05:31 |
call,行標(biāo),注釋,和 環(huán)境變量 以一個冒號開頭的英文字,表示這是一個行標(biāo)。如: :labelSomewhere 兩個冒號開頭的英文字,表示一個注釋掉的行。 ::comment content 注意,這種方式注釋,不可以放在括號引起的多行語句之間。 將一個文件名的排列,以空格分隔,放在一個環(huán)境變量內(nèi);以該環(huán)境變量作為循環(huán)遍歷的列表內(nèi)容。減少命令腳本內(nèi)容修改的必要。 set fileList=fileA fileB fileC
或者將所有文件名,作為腳本文件執(zhí)行的參數(shù),如下寫法 script.cmd fileA.txt fileB.txt 文件script.cmd 內(nèi)容: for %%i in (%*) do echo %%i 書寫成%*, 額外的寫法,將要遍歷的字符內(nèi)容分行放在一個或多個文件內(nèi),這個列表文件作為執(zhí)行參數(shù),循環(huán)時候遍歷文件內(nèi)容,讀出每一行到循環(huán)變量。 for /f "usebackq" %%i in (%1) do echo %%i 如果文件的行含有空格,輸出的是第一個字。這是,可以書寫修改成下例: for /f "usebackq tokens=*" %%i in (%1) do echo %%i 執(zhí)行s.cmd fileList.txt 效果相當(dāng)于列出文件內(nèi)容,但是一次讀取文件一行,較節(jié)省系統(tǒng)資源。 上述tokens的值是一個逗號分隔的列表,數(shù)值指定要索取記號的序號,星號指定余下所有標(biāo)記。 更多幫助參見for /? 注意:腳本文件內(nèi)循環(huán)變量命名,寫成%%i;命令行方式下,寫成%i: for %%i ... for %i...
call,調(diào)用其他程序,常調(diào)用同樣的批命令腳本文件;或者調(diào)用某行標(biāo),配合"goto :labelAtLastLine" 的方式實現(xiàn)類似子程序調(diào)用功能。 call notepad call :subroutine . . . :subrountine ...
調(diào)用行標(biāo)時,腳本執(zhí)行點位置保存,調(diào)到行標(biāo)位置行,按照邏輯執(zhí)行到腳本結(jié)尾后,返回到調(diào)用點的下一行,繼續(xù)解釋和執(zhí)行腳本。 如果足夠無聊,可以試一下: script.cmd內(nèi)容寫成 call script.cmd 然后就可以看到無窮無盡的遞歸調(diào)用,或者: script.cmd文件內(nèi)容寫成 start script.cmd 點擊執(zhí)行后,可以看到無窮盡的彈出窗口。終結(jié)的方式是在任務(wù)管理器下結(jié)束命令行程序的進(jìn)程樹 將這個腳本內(nèi)容復(fù)制到兩行,你就可以體會一下進(jìn)程數(shù)量呈指數(shù)級增長的感覺。
最后,覺得這些視窗腳本命令的用處其實不大。除了可以幫助寫出在路徑名內(nèi)包含空格的獨(dú)立游戲安裝腳本。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |