• ベストアンサー

DOS findコマンドのバッチでストールする

DOSコマンドプロンプトで.batファイルを作成。 内容は find "2007:01" access_log_2007_04_11.txt >log2007041101.csv このバッチファイルを、検索するaccess_log_2007_04_11.txt と同じフォルダー上において、ダブルクリックで起動すると。 コマンドプロンプトが開くのだが、以前実行した、 find "2007:00" access_log_2007_04_05.txt >log2007040500.csv が、延々と実行され。 コマンドプロンプトを閉じても log2007040500.csv を、消しても消しても、作成される。 システムを落とすしかなくなる。のです。 4月の頭では正しく動作していたんですが???

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

  • ベストアンサー
noname#246547
noname#246547
回答No.2

環境変数PATHで示されるディレクトリの中に、 「find.bat」という名前で、 中身が「find "2007:00" access_log_2007_04_05.txt >log2007040500.csv」のファイルがどこかに存在していませんか? 上記のファイルを検索して存在していないか確認してください。 あと、「find」を大文字で記述されていますが、 大文字と小文字の区別は大丈夫ですか? 「find.bat」(大文字)のファイルがありませんか?

upi1and
質問者

お礼

そうですよね。 find.batがありました。 おお騒がせいたしました。 ありがとうございます。

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

@echo off for %%I in (%1 %1.com %1.exe %1.bat %1.cmd %1.vbs %1.js %1.wsf) do if exist %%~$path:I echo %%~$path:I 上の2行を適当なバッチファイルとしてコピペして(仮に which.batとします)、 which find としたときどんな出力になりますか? indows/system32 とか winnt/system32 以外のディレクトリにあるものになっているような気がするのですが。

noname#246547
noname#246547
回答No.1

「find "2007:01" access_log_2007_04_11.txt >log2007041101.csv」 ですが、この命令を記述してあるbatファイル(仮に200701.bat)には、 本当にこれ以外一切記述していませんか? 「find "2007:00" access_log_2007_04_05.txt >log2007040500.csv 」、この命令は別ファイル(仮に200700.bat)に記述されているのですか? 200701.bat中で200700.batを呼び出していませんか? さらに、200700.batの中で自分自身(200700.bat)を呼び出したりしていませんか? 今私が疑っているのは、batファイル内からbatファイルを呼び出して、 再起呼び出しの無限ループにはまっていないかということです。 どうでしょうか?

upi1and
質問者

補足

これ以外には書いていない。 わからないのが、前に入れたコマンドが実行されていることです。 コマンドプロンプトで、手で このフォルダーまで移動して、Find命令を手でたたいても、 同様に、たたいた、内容 たとえば find /?と たたいても、 find "2007:00" access_log_2007_04_05.txt >log2007040500.csv が、じっこうされてしまう。 どこに覚えられているのだろう???

関連するQ&A