« 勝手にアタッチメントファイルが付く | トップページ | Windows10でQXのマクロが動かない »

2016年3月18日 (金)

バッチファイルからアプリを終了させる

taskkill

バッチファイルからアプリを終了させるには taskkill を使います。
taskkill にはオプションが必要です。

たとえば、
taskkill notepad.exe   ← ダメ
↑↑↑↑ これは動きません。

taskkill /IM notepad.exe
↑↑↑↑ これは動きます。メモ帳を終了。

>※ /FI・/PID・/IM は少なくともどれか1つを指定する必要があり、/PID と /IM は同時に指定することができません。ただし、/PID・/IM はそれぞれ /FI と同時に指定することができます。
↓↓↓↓ このサイトから引用
Taskkill - DOS コマンド一覧 - Programming Field

ネット上に taskkill は強制終了と書いてあるサイトがありますが、まちがいです。
taskkill /IM notepad.exe
↑↑↑↑ これを実行したとき、メモ帳の文書が変更され、保存されていないと、下のメッセージが出ます。


[Window Title]
メモ帳

[Main Instruction]
無題 への変更内容を保存しますか?

[保存する(S)] [保存しない(N)] [キャンセル]


taskkill /IM notepad.exe はメモ帳の窓の右上にある×印を押したのと同じ動作になります。

taskkill 実行例

成功例

taskkill /IM notepad.exe
成功: プロセス "notepad.exe" (PID 4296) に強制終了のシグナルを送信しました。

taskkill /F /IM notepad.exe
成功: プロセス "notepad.exe" (PID 4172) は強制終了されました。
/F オプションなので文字どおり強制終了です。タスクマネージャから終了するのと同じ動作。
>イメージ名(プロセス名)が「notepad.exe」に一致するプロセスを強制的に終了させます。上記と異なり、未保存のデータがある場合でも保存するかどうかのダイアログが表示されません。
Taskkill - DOS コマンド一覧 - Programming Fieldからの引用。

つまり、
強制終了した場合は強制終了されました
普通に終了した場合は強制終了のシグナルを送信しました
とメッセージが出ます。しつこいようですが、実際には強制終了ではありません。

《 注 》 (PID 4296)はプロセスID です。これはメモ帳を起動するたびに違う番号がつきます。複数のメモ帳を起動すると、それぞれに違う番号がつきます。

失敗例

taskkill /IM notepad.exe
エラー: プロセス "notepad.exe" が見つかりませんでした。
実行したとき、メモ帳が起動していなかった。

taskkill /IM notepad
エラー: プロセス "notepad" が見つかりませんでした。
メモ帳は notepad.exe です。この場合 .exe は省略できません。



tasktilst から for コマンドで WINDOWTITLE を切りだして指定し、終了することもできます。
やり方は、こちら。Tasklist - DOS コマンド一覧 - Programming Field → サンプル3 (バッチファイル)

でも、このやり方だと、月時計 MClock.exe のようにメインウィンドウを持たないアプリは終了できません。
tasktilst から IMAGENAME を指定してプロセスIDを切りだし、それで終了できないのかな……と思ってやってみたらできました。説明が長くなるので、あとで記事を追加します。


 2016/09/02  やっと書きました。記事は、こちら。
バッチでプロセスIDを指定して終了
下のバッチファイルが具体的になにをしているか、順を追って説明します。

for /F "usebackq tokens=2" %%a in (
`tasklist /fi "IMAGENAME eq MClock.exe" ^| findstr "[0-9]"`) do (
taskkill /PID %%a
)


バッチからtaskkillできない原因は、ほかにもいろいろあります。説明は、こちら。
taskkillで終了できない

 
QXエディタ入門

 ネット検索では一部しかヒットしません。記事は目次から探してください。
   記事の訂正などの最新情報は、こちら。総合案内(おしらせ)

                  ┏よくある質問
                  ┃QXの設定
                  ┃標準設定のQXを使う
       すべての目次━╋QXを使う
                  ┃マクロ
                  ┃QTClip QGREP どこでもホイール
                  ┗パソコンが苦手なかたへ

   QXエディタ入門からGoogleで
   この検索窓の使い方は、こちら。サイト内検索

 

|

« 勝手にアタッチメントファイルが付く | トップページ | Windows10でQXのマクロが動かない »