bill_g
@bill_g (ka g)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

taskkillで特定のテキストファイルのみ終了させたい(DOS)

解決したいこと

windows10で、複数のテキストファイル(メモ帳)を開いています。
batファイルで、特定のテキストファイルを終了させたいです。
そのテキストファイルは更新していても保存はしなくて大丈夫です。

例)
sample01.txt と sample02.txt を開いています。
sample02.txt のみ終了させたいです。(更新していても更新無しで終了します)
sample01.txt は開いたままにします。

発生している問題・エラー

エラー: 無効な引数またはオプションです
"TASKKILL /?" と入力すると使用法が表示されます。

batにpauseを入れて、dos窓でbatを停止させてメッセージを確認しました。
batの中身は以下の2行です。

taskkill /IM "notepad.exe " sample01.txt /T
pause

自分で試したこと

別のbatファイルで複数のexeファイルを実行・テキストファイルも開きました。startを使用しました。そのbatファイルは一度終了しwindowsで作業します。
windowsで作業を終えて、exeとテキストファイルを別なbatファイルで一気に終了したいです。
exeは以下のコマンドで終了しました。(例: ABC.exe DEF.exe)

taskkill /F /IM ABC.exe /T
taskkill /F /IM DEF.exe /T

/T 無しの以下のコマンドを実行してもエラー。
taskkill /IM "notepad.exe" sample01.txt

taskkill /? でパラメータ一覧を見てヒントをさがしています。

/IM イメージ名 終了させるプロセスのイメージ名を指定します。

イメージ名は notepad.exe で、notepad.exeに引数として sample01.txt を渡せば良いかなと考えています。

ウインドウタイトルはメモ帳の左上の部分かなと推測。
以下の2行もエラーでした。

taskkill /F /IM "WINDOWTITLE eq sample01.txt" notepad.exe
taskkill /F /IM "WINDOWTITLE eq sample01.txt - メモ帳" notepad.exe

taskkill /F /IM notepad.exe を実行しますと開いている全てのメモ帳が終了。

成功: プロセス "notepad.exe" (PID 15692) は強制終了されました。
成功: プロセス "notepad.exe" (PID 3588) は強制終了されました。

PIDの数字は、メモ帳を起動する都度違いますのでbatからの指定はできなさそうです。
TaskListコマンドで一覧を表示し、PIDは確認できますが行き詰まりました。

どなたかご教授いただければ幸いです。

0

2Answer

これなら成功しました。
taskkill /F /IM notepad.exe /FI "WINDOWTITLE eq sample02.txt - メモ帳"

1Like

Comments

  1. @bill_g

    Questioner

    ありがとうございます。実行して確認しました!
taskkill /f /im notepad.exe /fi "WINDOWTITLE eq sample02.txt*"

/imがイメージ名(プログラム名)、/fiがフィルターです。

※追記:投稿が重複していたようです。上の回答者さんと同じ内容です。

1Like

Comments

  1. @bill_g

    Questioner

    ありがとうございます。回答までのお時間が素早いので驚いております!
    sample02.txt*でワイルドカード指定、今後、参考・応用させていただきます。

Your answer might help someone💌