start /wait 命令
來源:互聯網
上載者:User
最近有個case,幾個安裝程式需要分別按順序在不同的console window下完成。想寫個批處理,折騰了兩天,看來自己的電腦基礎知識還是薄弱啊,不知道有start /wait這個命令可以完成任務。
先看看系統內建的說明:
代碼:
Start啟動單獨的“命令提示字元”視窗來運行指定程式或命令。如果在沒有參數的情況下使用,start 將開啟第二個命令提示字元視窗。
文法
start ["title"] [/dPath] [/i] [/min] [/max] [{/separate | /shared}] [{/low | /normal | /high | /realtime | /abovenormal | belownormal}] [/wait] [/b] [FileName] [parameters]
參數
"title"
指定在“命令提示字元”視窗標題列中顯示的標題。
/dPath
指定啟動目錄。
/i
將 Cmd.exe 啟動環境傳送到新的“命令提示字元”視窗。
/min
啟動新的最小化“命令提示字元”視窗。
/max
啟動新的最大化“命令提示字元”視窗。
/separate
在單獨的記憶體空間啟動 16 位程式。
/shared
在共用的記憶體空間啟動 16 位程式。
/low
以空閑優先順序啟動應用程式。
/normal
以一般優先順序啟動應用程式。
/high
以高優先順序啟動應用程式。
/realtime
以即時優先順序啟動應用程式。
/abovenormal
以超出常規優先順序的方式啟動應用程式。
/belownormal
以低出常規優先順序的方式啟動應用程式。
/wait
啟動應用程式,並等待其結束。
/b
啟動應用程式時不必開啟新的“命令提示字元”視窗。除非應用程式啟用 CTRL+C,否則將忽略 CTRL+C 操作。使用 CTRL+BREAK 中斷應用程式。
FileName
指定要啟動的命令或程式。
parameters
指定要傳送給命令或程式的參數。
注釋
非執行檔案只要將檔案名稱作為命令鍵入,即可通過其檔案關聯運行該檔案。有關使用 assoc 和 ftype 在命令指令碼中建立這些關聯的詳細資料,請參閱“相關主題”。
在啟動並執行命令的第一個標記為“CMD”字串但不包括副檔名或路徑限定符時,“CMD”將被 COMSPEC 變數的值取代。這樣可以防止使用者從目前的目錄選取 cmd。
當您運行 32 位元影像形使用者介面 (GUI) 應用程式時,cmd 不會在返回到命令提示字元之前等待應用程式退出。如果從命令指令碼運行應用程式,則不會發生這種新情況。
在啟動並執行命令中第一個符號不包括副檔名的情況下,Cmd.exe 使用 PATHEXT 環境變數的值確定要尋找的副檔名以及尋找順序。PATHEXT 變數的預設值為:COM;.EXE;.BAT;.CMD(文法與 PATH 變數相同,使用分號分開不同元素)。
當您搜尋可執行檔且在任何副檔名上都沒有匹配項時,start 將搜尋目錄名。如果是這樣,則 start 將按這條路徑開啟 Explorer.exe。
範例
若要在命令提示字元下啟動 Myapp 程式並保持使用當前“命令提示字元”視窗,請鍵入:
start myapp
舉個簡單的例子吧,首先寫一個ping1.bat,內容為:
@echo off
ping www.sina.com.cn
ping www.baidu.com
然後執行,應該可以看到兩條ping命令依次在同一視窗運行。
再寫一個ping2.bat:
@echo off
start /wait ping www.sina.com.cn
start /wait ping www.baidu.com
執行後應該可以看到兩條ping命令依次在不同的視窗中運行。如果去掉/wait參數呢?有興趣可以自己看看。