• ベストアンサー

batファイルからアプリケーションを終了させるには

現在、USBフラッシュメモリから複数のアプリケーションを実行させて使用しようと考えています。 そのとき、USBフラッシュメモリを抜くためにアプリケーションを一つ一つ閉じる手間を省くために、batファイルを作成しようとしているのですが、batファイルからアプリケーションを終了させる方法がわかりません。 回答をよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#210617
noname#210617
回答No.1

Taskkill タスクやプロセスを終了します。プロセスは、プロセス ID またはイメージ名を指定して終了します。 構文 taskkill [/s Computer] [/u Domain\User [/p Password]]] [/fi FilterName] [/pid ProcessID]|[/im ImageName] [/f][/t] パラメータ /s Computer リモート コンピュータの名前または IP アドレスを指定します (円記号は使わないでください)。既定はローカル コンピュータです。 /u Domain\User User または Domain\User として指定したユーザー アカウントのアクセス許可でコマンドを実行します。既定は、コマンドを発行するコンピュータに現在ログオンしているユーザーのアクセス許可です。 /p Password /u パラメータで指定したユーザー アカウントのパスワードを指定します。 /fi FilterName 終了に含めるプロセスまたは終了から除外するプロセスの種類を指定します。次に、有効なフィルタ名、演算子、および値を示します。 名前 演算子 値 Hostname eq、ne 有効な文字列。 Status eq、ne RUNNING|NOT RESPONDING。 Imagename eq、ne 有効な文字列。 PID eg、ne、gt、lt、ge、le 有効な正の整数値。 Session eg、ne、gt、lt、ge、le 有効なセッション番号。 CPUTime eq、ne、gt、lt、ge、le hh:mm:ss の形式を持つ有効な時間。mm パラメータと ss パラメータの値は、0 から 59 の範囲になければなりません。hh の値は有効な符号なし数値です。 Memusage eg、ne、gt、lt、ge、le 有効な整数。 Username eq、ne 有効なユーザー名 ([domain\]user)。 Services eq、ne 有効な文字列。 Windowtitle eq、ne 有効な文字列。 /pid ProcessID 終了するプロセスのプロセス ID を指定します。 /im ImageName 終了するプロセスのイメージ名を指定します。すべてのイメージ名を指定するには、ワイルドカード (*) を使います。 /f 強制終了するプロセスを指定します。リモート プロセスでは、このパラメータは無視されます。リモート プロセスはすべて強制終了されるためです。 /t 親プロセスと共にすべての子プロセスも終了することを指定します。一般的に、ツリー キル (tree kill) と呼びます。 /? コマンド プロンプトにヘルプを表示します。 解説 ワイルドカード文字 (*) は、フィルタと共に指定されている場合にのみ使うことができます。 リモート プロセスの終了は、/f パラメータが指定されているかどうかにかかわらず、常に強制的に実行されます。 コンピュータ名を HOSTNAME フィルタに指定すると、コンピュータはシャットダウンし、すべてのプロセスが停止します。 終了するプロセスのプロセス ID (PID) を特定するには、tasklist を使用します。 Taskkill は、Kill の代替ツールです。 例 次に、taskkill コマンドの使用例を示します。 taskkill /pid 1230 /pid 1241 /pid 1253 taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe taskkill /s srvmain /f /im notepad.exe taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im * taskkill /s srvmain /u maindom\hiropln /fi "USERNAME ne NT*" /im * taskkill /f /fi "PID ge 1000" /im * 表記規則 表記 意味 斜体 ユーザーが指定しなければならない情報 太字 記述どおりに入力しなければならない要素 省略記号 (...) コマンド ラインで繰り返すことができるパラメータ 角かっこ ([]) 省略可能な項目 中かっこ ({}); パイプ (|) で区切られた選択肢例 : {even|odd} 1 つだけ選択しなければならない選択肢 等幅フォント コードまたはプログラムの出力

cometkirby
質問者

お礼

回答していただきありがとうございます。とても参考になりました。しかし、Windows XP Professional 限定でしか使えないのが残念ですね…。XP Home Edition とかでも使えるコマンドがあればいいのですが…。

関連するQ&A

  • batファイルからアプリケーションを終了させるには

    現在、USBフラッシュメモリから複数のアプリケーションを実行させて使用しようと考えています。 そのとき、USBフラッシュメモリを抜くためにアプリケーションを一つ一つ閉じる手間を省くために、batファイルを作成しようとしているのですが、batファイルからアプリケーションを終了させる方法がわかりません。 Killコマンドなど調べましたが私のPCはXP-Home Edition なので使えません。他にコマンドがありましたら教えてください。 回答をよろしくお願いします。

  • BATファイルの終了

    BATファイルを実行し、 オンラインプログラムを起動していますが、 そのオンラインプログラムが終了しなくても、 起動したBATのコマンドプロンプトを終了させる 方法を教えてください オンラインの起動中に黒のプロンプトが残った ままになっているのが不便ですので

  • batファイルに関して

    教えて下さい。 batファイルを作成し、実行しようと考えていますが、命令文 が複数あった場合、1つのbatファイルに記載する事は可能でしょうか? 例えば、  copy と pushd 等を一度に行いたい。 よろしくお願いします。

  • batファイルの作成方法について

    batファイルの作成方法について 開いてるPPTファイルを終了して(dkill.exeにて) (1) C:\dkill.exe powerpnt.exe フォルダ内のPPTファイルを全削除して (2) del /f /q C:\test\*.ppt PCをシャットダウン (3) %windir%\system32\shutdown.exe したいのですが、batファイルを作って(1)(2)(3)を並べて実行すると 「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」となって (2)ファイル削除が実行できません。 それぞれ別々に実行すれば問題なく実行できます。 おそらく、(1)の処理が終了しない状態で、(2)の削除が実行できないと思うのですが・・・ この3つの処理をひとつのbatファイルで実行するにはどうしたらよいでしょうか? 初心者なのでわかりやすい回答をお願いしますm(__)m

  • Batファイルについて

    複数階層のフォルダにまたがって格納されているエクセルファイルをBatファイルでコピー、又は、移動させたいのです。コピー、移動させたいファイルのファイル名の頭(顧客IDになっている)を拾ってリストにしてあります。移動させたいエクセルファイルが複数のフォルダに入っているので、最上階層のフォルダでbatファイルを実行できればと思っています。 現在は複数あるフォルダの中に下記のBatファイルと対象リスト.txtをを入れて1フォルダずつ実行していますが、数十個あるフォルダなので作業が大変です。最上階層で出来るようにしたいのです。 FOR /F %%i in (list.txt) do copy %%i "移動先のパス"

  • batファイルで任意ドライブの指定方法

    よろしくお願いします。 Windows上(XP及びWin7)で、ある任意のドライブ(USBメモリなど)内にあるファイル(拡張子のdatのみ固定)を指定したフォルダにコピーするbatの記述方法を教えてください。 現在、FDの「A:」配下のファイルを指定フォルダへコピーするようにbatを作って利用していましたが、FDドライブが壊れてしまったため、USBメモリに変わることになりました。 またUSBメモリも複数本使うことになり、さらに別のUSB機器なども抜き差しすることも想定されます。 すみませんがよろしくお願いします。

  • Batファイルについて教えてください。

    再度質問を出します。宜しくお願いします。 複数階層にまたがっているエクセルファイルをBatファイルでコピー、又は、移動させたいのです。コピー、移動させたいファイルはファイル名の頭(重複しないIDになっている)を拾ってリストにしてあります。エクセルファイルが複数のフォルダに入っているので、最上階層のフォルダでbatファイルを実行できればと思っていますが。

  • BATファイルについて

    BATファイルについて教えてください。 現在エクセルのVBAでテキストファイルから読み込んだデータを一行づつ解析し条件文でそれぞれ決められた書式のテキストファイルに書き直して新たなテキストファイルを作成するというプログラムを作成して使っています。 この機能をエクセルのVBAではなくBATファイルのようなインタープリンターを介さないプログラムができないかと悩んでいます。 BATファイルで上記の処理が可能か、または作成方法など教えていただけると助かります。 どなたかご存知の方教えてください。

  • BATファイルでstartからcallを行う方法

    現在BATファイルにて指定されたアプリケーションを使用して、イベントログの抽出を行っています。 元々MainBATとSubBATの作成を行い、1台毎に作業を行っていたのですが 台数が非常に多い為、MainBatの分割を行い、その上にMainBatを一度に起動するBAtファイルを作成した所 SubファイルのCallが認識できなくなりました。 申し訳ありませんが、作業を行う方法がございましたら教えて下さい。 本来の作業方法 MainBAT Call sub サーバー名 Call sub サーバー名 Call sub サーバー名 Call sub サーバー名 Call sub サーバー名 Call sub サーバー名 Call sub サーバー名 Call sub サーバー名 Call sub サーバー名 Subファイルにてアプリケーションの起動 アプリケーション名 %1 上記をMain1、Main2、MAin3、Main4と分割しその上に4つのBATを実行するALLBATの作成し実行 ALLBAT start Main1.bat start Main2.bat start Main3.bat srart Main4.bat Main1.bat Call sub サーバー名 Sub.batの中身 アプリケーション名 %1 この%1の部分が認識できなくなってしまいました(他に%2 ~ %9まで変更してみたが不可能) このcallの部分を認識できる方法がありましたら教えて下さい。

  • BATファイル実行にフォーカスを当てたい

    Windows2008サーバにRDPでWindows7から実行しています。 サーバにBATファイルを作成し、(XCOPYコマンド)データのバックアップを行います。 この時ですが、クライアント(Windows7)で実行させたBATファイルですが(コマンドプロンプト)画面が なぜか背面にかくれてしまい、BATの実行内容がみれなくなることがあります。また、BATの終了時に、正常終了かどうかの表示を行い、Pauseコマンドで止めていますが、これが、背面にかくれてしまい、いつ終ったのかわからない状態です。ずーっとBAT自動されたコマンドプロンプトの表示にフォーカスを当てたいのですが、BATに記述することにより、再度フォーカスを取り戻すようなコマンドはあるでしょうか?よろしくお願いします。