2

バッチ ファイルをダブルクリックして起動したい Windows 7 マシンに再生アプリケーションがあります。

このバッチ ファイルは、サービスを開始します。play アプリケーションを呼び出して本番モードで実行し、5 秒間待機してから、指定された URL でブラウザーを開きます。

したがって、次のスクリプトを使用しました。

call net start service1
CALL "D:\play-1.2.5\play.bat" start --%%%%prod -Dprecompiled=true
TIMEOUT /T 4
call "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" localhost:9000
exit

バッチファイルを開始すると、ウィンドウが開き、すべてのコマンドが実行されます。悲しいことに、Play はまだ出力を cmd に書き込んでおり、ウィンドウは消えません。ウィンドウを手動で閉じると、再生が停止します。

cmd から「play start」で play を実行すると、play はバックグラウンドで開始され、すべて問題ありません。ウィンドウを閉じても Play は実行されます。

バッチ ファイルを使用してアプリケーションを起動するときに、まさにこの動作が必要です。

ありがとう

4

3 に答える 3

0

Playが何であるかわからないので、推測することしかできません:)call必要ではないと思うので、'sなしでバッチを使用してみてください。問題が解決する可能性があります。

于 2012-10-15T16:00:03.147 に答える
0

Linux のような環境を使用している場合は、「nohup」コマンドと「&」記号を最後に使用することをお勧めします。しかし、私の知る限り、残念ながら Windows には美しい「nohup」コマンドに相当するものはありません。したがって、私が考えることができるのは、CreateProcessコマンドを利用する小さな win api アプリケーションを作成し、プロセスが作成されるとすぐにコマンド ライン ウィンドウを非表示にするために必要なパラメーターを与えることができるということです。コマンドラインを非表示にするために使用できるWinExecなどの他のプロセス作成関数もあります。

于 2012-10-15T13:23:15.517 に答える