プロセスが存在しているか確認し、存在しなければ起動するコマンドラインバッチ

経緯

あるPCでDropboxがたまに落ちていることがある。
同期に使っているため困る。

どうしたか

下記のバッチを作り、タスクスケジューラで定期的に実行するようにした。

  • 当該プロセスが存在しているか確認。
  • 存在していなければ起動する。

ソース

@ECHO OFF
::tasklistコマンドからDropbox.exeをfind → ERRORLEVELで判定する
TASKLIST | FIND "Dropbox.exe" > NUL
IF NOT ERRORLEVEL 1  (
  GOTO ProcessLaunched
) ELSE (
  GOTO ProcessNotLaunched
)

::あれば何もしないで終了
:ProcessLaunched
  GOTO END
::なければ起動させる
:ProcessNotLaunched
  "<フルパス>Dropbox.exe" /home
  GOTO END
:END
EXIT