あなたにとってのゴールデンタイムはいつですか?

バッチファイルを作って、taskkillを実行しようとしましたが、出来ません。

ファイル名は、たとえば、task.bat

中身には、

taskkill /F /im imagename

と入れました。

これで実行すると、MSDOSウインドウが開いてバッチ処理が開始されますが、

taskkill /F /im imagename

が、永遠に連続して繰り返し現れて、いつまでたっても終わりません。
また、kill 自身も実行されておりません。

copy コマンドなどでは、問題なくできます。

MSDOSプロンプトを手動で開いて、手で入力して実行すると、問題なくKillできます。

なぜでしょうか。

A 回答 (2件)

> ファイル名は、たとえば、task.bat


本当は「taskkill.bat」にしていると言うことはありませんか?
その場合はファイル名を変えてください。

この回答への補足

ああ、わかりました。
バッチファイルを実行した際に、taskkill を見て、taskkill.batの方を実行したために再帰的に無限ループに入ってしまった、ということですね。
であれば、了解です。
ほんものの、taskkillコマンドよりも、バッチファイルの方が優先されるのですね。

補足日時:2007/12/13 23:52
    • good
    • 2
この回答へのお礼

お返事ありがとうございました。

たしかに名前は、TaskKill.bat にしていました。

名前を変えたら、うまくいきました。
どうしてでしょうか。
ちょっとびっくりしました。

教えていただき、ありがとうございました。

お礼日時:2007/12/13 23:51

> ほんものの、taskkillコマンドよりも、バッチファイルの方が優先されるのですね。



そう単純では無いです。
DOS/Windowsではカレントディレクトリをまず探し、次にPATHに指定されたフォルダを順に探します。
taskkill.exeが先に見つかるようにしておけば、taskkill.batという名前を付けていてもまともに動きます。

まあ混乱の元ですから避けた方が無難なのは言うまでもありません。
    • good
    • 0
この回答へのお礼

お返事ありがとうございました。

なるほど、taskkill.exeもファイルなので、指定されたパス順にみていくということなのかな。
内部コマンドと勘違いしていました。

ありがとうございました。

お礼日時:2007/12/14 10:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報