我一直在尋找有關exec cmd.exe的信息,但是我找不到任何有用的信息。誰能給我解釋一下下面的代碼:exec cmd.exe tcl
exec cmd.exe /c start /wait $buildLoc\\setup.exe /extract_all:C:/setup
我一直在尋找有關exec cmd.exe的信息,但是我找不到任何有用的信息。誰能給我解釋一下下面的代碼:exec cmd.exe tcl
exec cmd.exe /c start /wait $buildLoc\\setup.exe /extract_all:C:/setup
讓我們來分析一下:
exec cmd.exe /c start /wait $buildLoc\\setup.exe /extract_all:C:/setup
#^^^
的exec命令啓動一個子進程。
exec cmd.exe /c start /wait $buildLoc\\setup.exe /extract_all:C:/setup
# ^^^^^^^^^^
cmd.exe是一個窗口「批量」的外殼,/c
標誌要求它來運行其參數爲命令。
exec cmd.exe /c start /wait $buildLoc\\setup.exe /extract_all:C:/setup
# ^^^^^^^^^^^
的start命令,內置cmd.exe
,是也一種方式來獲得另一個程序來啓動。 /wait
標誌告訴它等待直到啓動的程序結束。
exec cmd.exe /c start /wait $buildLoc\\setup.exe /extract_all:C:/setup
# ^^^^^^^^^
一個常規的TCL變量;它將在TCL內部進行擴展。
剩下的就是無論setup.exe程序做(這是誰知道...)
不知道多一點關於這裏正在運行的程序(見下文),很難說究竟爲什麼需要中間體exec.cmd /c start /wait
;我猜測cmd.exe是加載所有系統的默認環境(而不是使用從tcl程序繼承的環境),並且start
是打開終端窗口,因此顯示setup.exe程序的輸出給用戶。
exec {*}[auto_execok start] /wait $buildLoc\\setup.exe /extract_all:C:\\setup