• 締切済み

findコマンドについて

findコマンドをコマンドプロンプトより下記のとおり実行しました。 find "保留中" D:\find.txt 想定された結果を得る事ができました。 しかし、同じコマンドをバッチファイル(find.bat)として実行すると、コマンドを 繰り返し実行し続けていて終了せずに、結果を表示する事ができません。 何がいけないのでしょうか?

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

なぜ繰り返すかは#1の方の書いたとおりです。 他の解決方法としては、find.batが起動されないようにfind.exeと明示する。 find.exe "保留中" D:\find.txt

takao0009
質問者

お礼

非常に短時間でのご回答ありがとうございました。 なるほどーって感じです。

回答No.1

find.batというファイル名が悪い。 find "保留中" D:\find.txt 中のfindを自分自身だと判断して「自分自身に対して引数を渡そうとして無限に再帰する findaaa.batみたいに変えれば動作する

takao0009
質問者

お礼

短時間でのご回答どうもありがとうございました。

関連するQ&A

  • 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月の頭では正しく動作していたんですが???

  • コマンドプロンプトのバッチについて

    test01.bat >> YYMMDD結果.txt コマンドプロンプトのバッチ処理を実行結果をテキストで保存したいのですが、ファイル名を、 「YYMMDD結果.txt」と"YYMMDD"に本日の日にちを入れたいのですが、どのようにすればよいのでしょうか?

  • コマンド実行結果を環境変数に代入する方法ありますか

    下記のとおりfindコマンドを実行すると結果が表示されます。 findコマンドの実行結果を直接環境変数に代入したいのですが、 できますでしょうか。 できれば「5」だけを環境変数に代入したいです。 よろしくお願いします。 C:\tmp>find /C "OPEN" aaa.txt ---------- AAA.TXT: 5

  • .batの実行に失敗する

    下記のコマンドを記載した.batファイルを作成し、実行しようとしております --battest.bat for /F "tokens=5 delims=," %i IN (1date_mgm.txt) DO @(if /i "%i"=="2" echo %i >2teteet.txt) --1date_mgm.txtの中身は以下の通りです file_1,20141025,0,0,0 file_2,20141025,2,2,2 これをコマンドプロンプトで実行すると、以下の結果となります。 (1)コマンドプロンプトに直接for文を記載  ⇒2teteet.txtが作成され、結果(2)が表示される (2)battest.batファイルを直接実行  ⇒2teteet.txtが作成されない   (管理者として実行を行っても同一の結果になります) (3)コマンドプロンプトにドラッグして実行  ⇒使い方が誤っていますと表示される。 これを常に2teteet.txtを作成させたい(正常な結果)のですが、 どのようにすればよいのでしょうか

  • unixのfindコマンド

    unixのfindコマンドで、ある複数のディレクトリから指定のファイル名だけを 検索し、その結果をgrepしたいのですが、 例えば 01_dir 02_dir : 11_di : 21_dir : と言うディレクトリがあります。 そこから、「0」で始まっているディレクトリの中なら拡張子が*.txtを 検索し、その検索したファイルに対して、grepを実行したいのですが、 上手くいきません。 もちろん、各ディレクトリには、「.txt」以外のファイルもありますし、 ファイル名にも条件を付与したいです。 以下の様に、 find . -name "0*_dir" -type d -print | xargs ls -l *.txt | grep "検索文字" find . -name "0*_dir" -type d -print | xargs ls *.txt | grep "検索文字" find . -name "0*_dir" -type d -print | xargs -i ls -l '{} /*.txt' | grep "検索文字" find . -name "0*_dir" -type d -print | xargs -i ls {} "検索文字" とやってみたのですがだめでした。 find ./ -type d \( -name '1_*dir' -o -name '2*_dir' -o -name '3*_dir' \) -prune -o -type f -print と「-prune」で除外するディレクトリを指定すればできなくはないですが、 すべてのディレクトリ書くのはいい方法ではないです。 よい方法をお願いします。 OSは、Solaris 11.3です。

  • バッチファイルの実行方法

    Windows Server 2003で、Robocopy.exe(Resource KitToolsからインストールしたもの)の連続処理のために、下記のようなバッチファイル(.bat)を用意しました。 robocopy "D:\a" "F:\a" /E /copy:DT /NP /LOG:c:\robocopy.txt /TEE robocopy "D:\b" "F:\b" /E /copy:DT /NP /LOG+:c:\robocopy.txt /TEE .... コマンドの各行は間違っていないようです(cmd.exeに各行を打ち込んで実行すると正常に処理されます)。しかし.batをダブルクリックするとコマンドプロンプト画面内でバッチファイルの1行目がすごい勢いで流れるだけで、処理されません(コマンドプロンプトを強制終了するしかありません)。 最初は.batをダブルクリックすると正常に処理されていたのですが、急にこうなりました。なぜでしょうか? command.comから.batファイルを実行すると正常に処理されます。command.comから実行しないといけないものなのでしょうか? バッチファイルの拡張子を.batにするか、.comにするか関係があるでしょうか?

  • バッチファイルで実行できたりできなかったり

    こんにちは。 バッチファイルとコマンドプロンプトについて、少々お伺いしたいことがあります。 まず、コマンドプロンプトで以下のコマンドを打ち込んでみたところ、すべて正常に実行することができました。 ping [example.com] > result.txt tracert [example.com] >> tr_result.txt ipconfig /all > ipc_result.txt 次に、各コマンドをテキストファイルに書き込んで、それぞれ "p_test.bat" # 内容は ping コマンド "tr_test.bat" # 内容は tracert コマンド "ipc_test.bat" # 内容は ipconfig コマンド と命名しデスクトップに配置、ダブルクリックで実行してみました。 すると、このうち正常に実行(結果をテキストファイルに出力)されたのは tr_test.bat のみでした。 ここで質問なのですが、なぜこのような違い(バッチファイルにすると実行できるものとできないものに分かれる)が起こるのでしょうか? バッチファイルの作り方やとコマンドプロンプトについて調べてみましたが、説明を見つけることが出来ませんでした。 この辺の理論について詳しい方がおりましたら、ご教示頂きたく思います。 ちなみに、OS は Windows XP SP2 です。 よろしくお願いいたします。

  • BATファイルによるfcコマンドでのファイル比較のエラー

    BATファイルによる、fcコマンドでのファイル比較を行いたいのですが、直接コマンドプロンプトで実行した場合では、正常に結果が指定ファイルに出力されるのに対して、BATファイルで同様のコマンドを実行しても, fcコマンドの比較結果が正常に出力されません。 原因を分かる方がいらっしゃいましたら、教えて頂けますでしょうか? 実行するfcコマンド内容 fc c:\a.txt c:\b.txt > c:\c.txt

  • バッチファイルを1個だけしか起動しないようにしたい

    エクスプローラー上から バッチファイル(test.bat)を ダブルクリックしてバッチファイルを実行しています。 通常はコマンドプロンプトが1個だけ表示されて、 バッチファイルが実行して実行が終了すると コマンドプロンプトも閉じられます。 しかし、時々、 コマンドプロンプトが2個表示されることがあります。 つまり、ダブルクリックが、 1回ではなく2回実行されたと誤認識されて、 同じバッチファイル(test.bat)が 2つ起動してしまったと思われます。 当然、その後の処理はおかしくなります。 (バッチファイル(test.bat)の中に 何らかのコードを追加するなどして) 必ず1個だけしか起動しないようにすることは、 できないでしょうか。 (Windows10)

  • バッチ(bat)の作り方を教えてください

    今、特定フォルダ内にあるファイル3つが存在すればコマンドを実行し、無ければ4時までループさせるといったことをバッチでしたいと考えております。 イメージは以下の通りです。 D:\a.txt,D:\b.txt,D:\c.txt バッチを1時から動かして、上記3つが揃えば、そこからコマンドを実行しバッチは終了 もしなければ10分置きにファイルをチェックし、4時を過ぎればバッチを終了(コマンドを実行させない)ということをしたいです。 コマンドは何でも良いので例えば「echo HELLO」とでもしておきます。 よろしくお願いいたします。