• 締切済み

DOSコマンド 「forfiles」について

困っています。教えてください。 forfilesコマンドにて検索し、HITしたファイル名をテキストファイルに出力したいです。 以下、現状のコマンドです。 forfiles /p パス /m ファイル名 /c "echo @path > logfile.txt" この場合、指定したパス配下に複数ファイルが存在した場合は、 最後のファイル名のみテキストファイルに出力されています。 複数ファイルが存在した場合にテキストへ一覧で出力するにはどうしたらよろしいですか。

みんなの回答

noname#156725
noname#156725
回答No.3

これかな…Windows Vista の使用経験が無いので分からんが http://www.atmarkit.co.jp/fwin2k/win2ktips/1137forfiles/forfiles.html forfilesコマンドで条件に合うファイルを取り出して処理する

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

へ~, そんなコマンドあったんだ.... そこでリダイレクトするなら #1 で言われる通り. あるいはリダイレクトを外に出す.

  • kawais070
  • ベストアンサー率52% (2242/4282)
回答No.1

Vistaが無いから確認できないけど、 forfiles /p パス /m ファイル名 /c "echo @path >> logfile.txt" が正解じゃないかな?( > が2つ)

関連するQ&A

  • DOSコマンドでのワイルドカードの使い方

    コマンドプロンプトにて 下記のコードを作っているのですが ) else if not "%%i"=="--*" ( の部分で、「--」を含んだ場合は処理しないように したくワイルドカードを設定してみたのですが うまく判断されません。 ワイルドカードは使えないのでしょうか? rem //グループ一覧取得 echo "">>"%LOGFILE%" 2>&1 echo "グループ一覧">>"%LOGFILE%" 2>&1 for /f "tokens=1" %%i in ('net localgroup') do ( if "%%i"=="コマンドは正常に終了しました。" ( echo "グループ一覧取得完了" ) else if not "%%i"=="--*" ( rem //ファイル出力処理 echo "%%i">>"%LOGFILE%" 2>&1 ) )

  • DOSコマンド フォルダ内のファイル名

    指定したフォルダの中にある、ファイル名をフルパスでtxtファイルで出力できるDOSコマンドは何でしょうか。かなり前に使用したのですが、忘れてしまいました。宜しくお願い致します。

  • UNIX teeコマンドについて

    あるテストプログラムの実行結果をteeコマンドで、ログに追加出力しようとしています 以下の1.変更前の様にシェルスクリプトを作成しました。 このシェルスクリプトを実行するとteeコマンドが正常終了するので $? が常に0になってしまい、必ずOKになってしまいます 急いでいたので2.のように修正したのですが、テンプファイルを使わないでもうちょっとシンプルに作成する方法をご存知の方教えてください 1.変更前 ./testpgm | tee -a logfile.txt  if [ $? -eq 0 ] ; then  echo "OK,testpgm," | tee -a logfile.txt else echo "NG,testpgm," | tee -a logfile.txt fi 2.変更後 ./testpgm > tempfile.txt if [ $? -eq 0 ] ; then cat tempfile.txt>>logfile.txt cat tempfile.txt echo "OK,testpgm," | tee -a logfile.txt else cat tempfile.txt>>logfile.txt cat tempfile.txt echo "NG,testpgm," | tee -a logfile.txt fi rm tempfile.txt OSはAIXで、シェルはshのみ使用可です

  • 基本的なDOSコマンドがわかりません

    新潮文庫の絶版100冊エキスパンドブックをテキストに落とすフリーソフトをダウンロードしました。 Readmeファイルで以下の操作説明がありますが、コマンドラインをどう打てば良いのか、わかりません。 DOS プロンプトを開いたところから教えていただきたいのですが…。 また、このreadmeではファイルは隠しフォルダにあり、ファイル拡張子はTXTである、とありますが、実際はdbk(エキスバンドプックファイル)となっています。でもノートパッドで開くとコードの後にテキストが現れるので、このファイルをEXB2T.COMと同じディレクトリに置けば良いと思うのですが、この理解、あっていますでしょうか…。その場合拡張子はdbkを使わないとダメですよね。 >>指定したファイルをテキストに変換して、画面に出力します。お好みの ビューアへパイプするなり、リダイレクトでファイルへ落とすなりできます。  たとえば10010101.TXT(雪国)のテキストを雪国.TXTというファイルに落としたい 場合は、EXB2T.COMと10010101.TXTを同じディレクトリに置いて、  EXB2T 10010101.TXT > 雪国.TXT と実行して下さい。>>

  • DOSプロントのeditコマンド

    DOSプロントについて教えてください。 type ***.txt とすることによってテキストファイルの中身が表示されますが、行数が長いために画面上に収まりきらず、すべてを見ることが出来ません。これを解消するためにはどのようにすればよいでしょうか。 また、 edit ***.txt あるいは edlin ***.txt としても「コマンドまたはファイル名が違います.」と表示されてこれらのコマンドを使用することが出来ません。これ以外にもファイルの中身を編集できるコマンドが存在するでしょうか? ちなみに、今現在、OSが動かない状態です。"safe mode command prompt only"で起動している状態です。

  • DOSで違う階層のファイルまでも一覧表示したい

    初めまして。dosをほとんど使ったことのない初心者ですがファイルの一覧表示について質問させていただきます。 フォルダAの中に文書ファイルが3つとフォルダが一つあって、そのフォルダの中に4つファイルがある場合についてお聞きします。 そうするとフォルダAには7つのファイルがあることになると思います。 この7つのファイル名の一覧をテキストファイルに書き出したいと考えています。 何かいい方法がありましたらお願い致します。 ちなみにネットにあった(http://write.asahi.ne.jp/modules/xfsection/article.php?articleid=2#002) for /R %i in (*.csv) do echo %i > list.txt というコマンドだとファイルにいたるパスまで出力された上に、一つのファイル名しかテキストファイルに書き込まれていませんでした。

  • コマンド実行結果のファイル出力

    systeminfo echo list volume | diskpart のコマンドを実行結果をテキストファイルに出力したいのですが、 echo list volume | diskpart > "c:\status.txt" systeminfo >> "c:\status.txt" としてバッチで実行しても、何も出力されていないません。 コマンドを画面で入力すると、画面に表示されます。 どうしたらよいか教えてください。

  • DOS コマンド 複数の変数について

    DOS コマンドで複数の変数を使ってデータを取り出したいのですが できないでしょうか。ファイル名をいったん取り出したあとに さらに、ファイル名の後ろから4文字を取り出したいと思っています。 ご教授いただけると非常に助かります。 例文は以下となります。 もう少し複雑なコマンドを作成していますが、 同様の箇所となります。最後のy に7890 がセットされた状態としたいです。 Echo on set x=1234567890 set y=%x:~-4% echo y

  • DOSコマンドについて

    UNIX系でいう「cutコマンド」的なコマンドはWindowsコマンドに存在しないのでしょうか? 大容量のテキストファイルを文字を表示できる形で分割したいのですが。。

  • diffコマンドにてテキスト出力

    こんばんは。教えてください! 以下のような2つのファイルがあるとします。 ・aaa.txt abc111 abc222 abc333 ・bbb.txt abc333 abc444 これを比較して、比較結果をテキスト出力したいです。 テキスト出力したい比較結果は (1)重複しているもの全てテキスト出力 (2)aaa.txtのみにあるものをテキスト出力 (3)bbb.txtのみにあるものをテキスト出力 また、(1)~(3)は別々のファイルに出力したいです。 diffコマンドで、 diff a.txt b.txt >> c.txt とすると、 1つのテキストファイル(c.txt)に (1)~(3)すべてが書かれてしまいます。 環境は、windows XPにてCygwinを使用しています。 diffコマンドでなくても構いません。 宜しくお願いします。