まだ実行されていない場合に一連のプロセスを開始するバッチ ファイルを実行するタスクを設定しようとしています。いくつかの例を見つけてまとめようとしましたが、うまくいかないようです。これを Windows 2008 サーバーにセットアップしたいと思います。これらはすべて Visual Studio 2010 vb.net アプリケーションです。
@echo off
:start
set /p runningprocess="C:\Users...Debug\PROCESS_I.exe"
tasklist /FI "IMAGENAME eq %runningprocess%" | find /I "%runningprocess%" > nul
IF %ERRORLEVEL% equ 0 ECHO PROCESS_? is running
IF %ERRORLEVEL% equ 1 ECHO PROCESS_? is not running
pause>nul
goto start
exit
これを複数のプロセスを実行するように適応させるにはどうすればよいですか:
set /p runningprocess="C:\Users...Debug\PROCESS_II.exe"
set /p runningprocess="C:\Users...Debug\PROCESS_III.exe"
タスクは 1 時間または 2 時間ごとに起動して、プロセスが既に実行されているかどうかを確認し、そうでない場合は新しいプロセスを開始できる必要があります。これは、何らかの障害が発生した場合にプロセスが常に実行されていることを確認するためのバックアップ計画であり、各アプリケーション内から電子メールで警告を受けることができます.
どんなアイデアでも大歓迎です。
編集:最後の実行結果のタスクスケジュールを確認したところ、「ディレクトリ名が無効です」と表示されます。これはプログラム/スクリプトにあります:
"C:\Users\...\BatchProcesses\PTTrackProcesses.bat"
そしてこれは始まりです
C:\Users\...\BatchProcesses\
手動実行時のエラー
C:\Users\..Debug\PROCESS_I.exe
ERROR: The search filter cannot be recognized.
PROCESS is not running