回答:
私はこれがうまくいくと思います:
start cmd.exe
必要なコードは次のとおりです。
start cmd.exe @cmd /k "Command"
@cmd
てるの?そのためのドキュメントはありますか?
@
通常プロンプトに表示される直接出力を抑制しますが、コマンドは引き続き実行されます。
^
。:(これに対処する方法はありますか?
コマンドプロンプトから次の3つのコマンドを入力するだけです。
start
start cmd
start cmd.exe
あなたのbatファイルに簡単に書き込む
@cmd
または
@cmd /k "command1&command2"
&
新しいプロンプトで複数のコマンドを実行していただきありがとうございます。追加したいexit
ので、コマンドの実行が終了するとプロンプトが閉じます。
また、CCNETタスクの最後にデーモンプロセス/サーバーを実行するバッチファイルを実行してみました。CruiseControlがプロセスの終了を待たずに独立した非同期プロセスを生成する唯一の方法は、次のとおりです。
タスクスケジューラを使用してバッチファイルをCCNETタスクとして実行する(schtasks.exeを使用)
schtasks.exe /create /F /SC once /ST 08:50 /TN TaskName /TR "c:/path/to/batchFileName.bat"
ccnetの開始時にプロセスを終了する必要があるかもしれません
PS:「start cmd.exe」を使用して選択した回答が機能しません。新しいコマンドプロンプトは実際に生成されますが、CCNETは生成されたcmdが完了するまで待機します。
DETACHED_PROCESS
(つまりコンソールなし)で開始しない限り、新しいコンソールを割り当てます。。CREATE_NEW_CONSOLE
(CMDがstart
使用するように)作成フラグで開始した場合、ベースDLLは親のコンソールを継承するのではなく、常に新しいコンソールを割り当てます。