- ベストアンサー
定期的に起動アプリを終了させるbatファイル
定期的にある一つの起動しているアプリを強制終了させるbatファイルを作成したいと思っています。 OSはServer2003です. tasklist /FI "IMAGENAME eq xxx.EXE"|find "xxx.EXE" にて値が返された場合はtaskkillコマンドで終了させ 値が無い場合は何もしないと言ったbatファイルを作成 したいのです。出力値をどこかに格納して、空であれば 何もせず、値があればtaskkillを実行してと言った感じにしたいのですが、その部分をどうしていいのか今調べております。何かいいアドバイス等ございましたらよろしくお願いします。不明点があればよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
単純に taskkill /IM xxx.EXE で良いと思うのですが、コレではダメなのですか。 一応質問文のような手順にするには、 @echo off SET PID= for /F "usebackqtokens=2" %%i in (`tasklist /nh /fi "Imagename eq xxx.exe"`) do SET PID=%%i IF defined PID ( taskkill /PID %PID% ) でいいと思います。 単純なtaskkillの方は、複数の同一EXE名を全て終了させますが、後の方はPIDに指定した1つだけを終了させます。 あるとかないとかそういうメッセージがイヤな場合は taskkill /IM xxx.exe 2>nul とすれば、情報メッセージを捨てることができます。
その他の回答 (1)
- gatyan
- ベストアンサー率41% (160/385)
tasklist ... find の実行結果をファイルにリダイレクトしてから、for 文でそのファイルを読み込んで taskkill コマンドを実行するようにしたらいいのでは? for /? でファイルからデータを取り込むためのオプションなどのヘルプが表示されるはずです。