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