web-dev-qa-db-ja.com

Windowsタスクスケジューラによって起動されたコマンドラインアプリを表示するにはどうすればよいですか?

Windowsタスクスケジューラでタスクを作成し、このマシンをロックするたびにコマンドラインアプリを実行します。それは魅力のように機能します。

私の質問は:ロックを解除したときにコマンドプロンプトウィンドウを表示することは可能ですか?

:このコマンドラインアプリはそれ自体で終了することはありません。手動で停止する必要があります。

4
douglaslps

myApp.exeの動作については正確にはわかりませんでした。

cmd.exeを起動してmyApp.exeを実行するときに、Cプロンプトに直接戻る場合は、「バックグラウンド」アプリです。 (つまり、バックグラウンドに直接移動します)。その場合、タスクスケジューラで直接myApp.exeを使用すると、戻るプロンプトは表示されません。 (ここではそうです

Task-Schedulerでcmd.exeを開始すると、プロンプトを開いたままにすることができます。これを行うには、実行行ボックスにcmd.exeを入力し、パラメーターボックスに/K myApp.exeを入力します。ロックを解除すると、Cプロンプトに戻ります。そのプロンプトで、TASKKILL /F /IM myApp.exe.exe /Tを使用してmyApp.exeを強制終了できます(または、myApp.exeにキルスイッチがある場合はそれを使用します)。

C-Promptに戻らないappを使用している他の人の場合:

myApp.exedoescmd.exeに出力され、not C-Promptに戻る場合は、/C myApp.exeを使用できます。 myApp.exeはプロンプトを開いたままにするためです。 A Ctrl+CmyApp.exeを終了し、プロンプトも終了する可能性があります。

この場合に/Kが使用された場合は、Cプロンプトに戻ります(プロンプトを終了するには、追加のexitコマンドを実行する必要があります)。

CMD.EXEに関する注記:

/C      Carries out the command specified by string and then terminates
/K      Carries out the command specified by string but remains
2
Rik