3

exec cmd.exeに関する情報を探していましたが、役立つ情報が見つかりません。誰かが私に次のコードを説明できますか?

exec cmd.exe /c start /wait $buildLoc\\setup.exe /extract_all:C:/setup
4

2 に答える 2

6

それを分解しましょう:

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はWindowsの「バッチ」シェルです。/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が必要だった理由を正確に言うのは難しいです。startcmd.exeは(tclプログラムから継承された環境を使用するのではなく)システムのデフォルト環境をすべてロードし、ターミナルウィンドウを開いてsetup.exeプログラムの出力が次のように表示されるようにすることだと思います。ユーザー。

于 2012-08-12T12:33:14.147 に答える
2

チェックアウトauto_execok

exec {*}[auto_execok start] /wait $buildLoc\\setup.exe /extract_all:C:\\setup
于 2012-08-12T15:24:47.750 に答える