プロセス/アプリケーションの実行中に Windows タスク スケジューラ タスクを実行し、アプリケーションが終了したらそのタスクを停止する方法はありますか?
タスクは手動で停止されるまで 2 分ごとに繰り返され、プロセスの開始と停止に合わせて開始と停止を行う必要があります。
答え1
2 つのタスクを作成し、最初のタスクではトリガーなしで必要な処理を実行するように設定し、2 番目のタスクではログイン時に開始し、2 分ごとに繰り返してバッチ ファイルを実行するように設定しました。
実行したバッチファイル:
@echo off
tasklist /FI "IMAGENAME eq YourProcess.exe" 2>NUL | find /I /N "YourProcess.exe">NUL
if "%ERRORLEVEL%"=="0" (
schtasks /RUN /TN "FirstTaskName">NUL
)
これは、プロセスが2分ごとに実行されているかどうかをチェックし、実行されている場合はタスクを実行します。(プロセスが実行中かどうかを確認するコードは、この答え)
また、ポップアップする cmd ウィンドウを非表示にするために、bat から exe へのコンバーターも使用しました。