• ベストアンサー

バッチファイルで繰り返し処理を行うには?

テキストファイルAからJまで10個あります。 それぞれのファイルから先頭行に「日付け」とある行を抽出し新規ファイル「コピーA」から「コピーJ」まで作成したい場合はどうすればよいでしょうか? さらにそれらを一つのファイル「Z」にまとめるにはどうすればよいでしょうか?

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

  • ベストアンサー
  • jmh
  • ベストアンサー率23% (71/304)
回答No.3

for %%I in (a b c d e f g h i j) do findstr "^日付け" < %%I > "コピー"%%I copy コピーa+コピーb+コピーc+コピーd+コピーe+コピーf+コピーg+コピーh+コピーi+コピーj z 動作は未確認です。 findstr は、MS-DOS(Win9*)には無いと思います(未確認)。

yuki0909
質問者

お礼

ありがとうございました。やりたいと思っていたことがやっとできました。 DOSプロンプトのポケットリファレンスを買ってきて教えていただいたfor %%I ~というやつを使いたかったのですが引数の使い方とdoの後がよくつかめませんでした。今回教えていただいたプログラムで何をしているのかよくつかめました。本当、感謝です。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

この程度の、テキストファイルの内容の文字列まで判断する必要の在る処理を、なぜMS-DOSのバッチファイル処理だと思うが、拘る必要があるのでしょうか。バッチファイルの処理は、ずらしや繰り返しや判別はあるものの、ほとんどファイル名のレベルしか処理できないのではないでしょうか。

  • abon
  • ベストアンサー率33% (4/12)
回答No.1

自分もバッチファイルに少々手を出した事がありますが、 その処理はかなーり難しいと思いますよ。 ドウシテモというのであれば、下記のアドレスでどうぞ。 FOR文の細かい説明があります。 結構細かい処理ですので C辺りでやったほうが簡単のような気がしますが・・・。

参考URL:
http://www25.cds.ne.jp/~kamiken/bach/bach.html

関連するQ&A

  • バッチ処理についてお伺い致します。

    既存のテキストファイルの内容をコピーし、 「「給与データ.00001_日付時間.DAT」」というファイル名称に変換したファイルを バッチ処理にて作成する事は可能でしょうか。 ※日付時間は作成した日付時間です。

  • バッチファイルでテキストファイルに列を挿入

    バッチファイルを用いて、大量のテキストファイルに先頭列を挿入し、かつファイル名をその先頭列にコピーできないかと考えております。 具体的には、 テキストファイルA XXX YYY ZZZ テキストファイルB XXY YYY ZZZ のようになっているものを、 テキストファイルA AXXX AYYY AZZZ テキストファイルB BXXX BYYY BZZZ といった形に変換したいです。 プログラムに関しては初心者です。 具体的なプログラムの内容を教えていただける方がいらっしゃいましたらよろしくお願いいたします。

  • バッチファイル

    すみません 教えていただきたいことがありますぅ 今、バッチファイルで テキストファイルの最後の一行を読み込んで、その読み込んだ行を べつのテキストファイルに書き込む という機能をもったものを作成したいです。 初歩的な質問なのかも知れませんが、あたしはわかりません(@_@) すみませんけど、よろしくお願いしますぅ

  • バッチファイルによるデータ参照

    コンピュータ名がテキストファイル名(ファイル(1))となっているファイルがあります。 このファイルの先頭行にコンピュータ名に該当するIPアドレスを入れたいと考えています。 そのために、コンピュータ名⇔IPアドレス表を事前にテキストファイル等で用意してそのファイル(ファイル(2))からバッチファイル実行時にファイル(1)の先頭行へ書き込むことはできますでしょうか? もしできるのであればその方法(コマンドレベル)を教えていただければありがたいです。よろしくお願いいたします。

  • バッチファイルについて質問です

    フォルダ内にA、B、Cと言ったテキストファイルがあります。 Aファイルだったら、日付-A.txtといったファイルのリネーム処理を実施するにはどのように記載すればいいのでしょうか? ※現在、ファイルのリネーム、日付を取得するところまで出来ています。 宜しくお願いします。

  • windows2000のDOSコマンドでテキストファイル形式のファイル

    windows2000のDOSコマンドでテキストファイル形式のファイルの記載内容を変更したいです。 Windows2000のDOSコマンドの問合せです。 日付がパラメータとしてセットされているテキストファイル(datepra.txt)があります。 このテキストファイルのパラメータとしてセットされている日付は、データベースの抽出条件としてfrom、toの2つの日付を指定おり、30行目と31行目に記載されてます。 この日付は今まで手動で毎月更新してたんですが、毎日更新したいと思います。 パラメータのfromは今日(毎日更新)、toは今日から1週間後の日付をバッチファイル(.bat)を作成し、日付を取得して、パラメータとしてセットされている30行目と31行目の日付を更新する方法をご教授いただきたく思います。 datepra.txt 中略 # 30行目 db_fromDate=2010/03/19 db_toDate=2010/03/16 中略 # 30行目までは、いろんなパラメータがセットされております。

  • バッチファイルの作成

    お世話になっております。 バッチファイルの作成方法について、只今勉強中です。 現在、毎日行われている作業をバッチファイルで自動化が出来ないか検討しておりますが、バッチファイルの編集に苦戦していて困っております・・・ ---実行したい事--- 0.以下、作業の流れをコマンドプロンプト上で表示する。 1.C:\ツール\batというフォルダに移動する。 2.batフォルダに新しく「file」というフォルダを作成 3.batフォルダ内には「bat_YYYY/MM/DD.txt」という日付のテキストがあり、該当する日付のテキストをコピーしてfileフォルダへ貼り付ける。 4.fileフォルダへ移動する。 ---終了--- 手順を全部書いてしまっているのですが、途中まではバッチファイルの編集をする事が出来ました。しかし、正解しているか不安です。 ご教授の程、宜しく御願い致します。

  • バッチファイルについて質問させて下さい。

    下記のようなcsvファイルまたはテキストファイルに纏めた移行元パス、移行先パスの情報をfor /fで行毎に参照しコピー処理を行うバッチファイルを作成したいと考えているのですが頓挫しております。 出来るだけバッチファイルで実現したいのですが可能でしょうか。お手数ですがご教示下さい。 (コマンドはxcopyを想定しています。) ------file.csv---------- 移行元パス1,移行先パス1 移行元パス2,移行先パス2 ・        ・ ・        ・ ---------------------- for /f "delims=,"%%a in (file.csv) do xcopy %%a 上記では移行先が指定できないので動きませんでした。

  • ファイルの先頭行を全て削除したい

    コマンドプロンプトについてお教え願えまえせんでしょうか? ■同一フォルダ内にあるテキストファイルの1行目のみを全て削除したい。 1000テキストファイルがあります。全てのファイルの先頭行(1行目)を削除したいです。 ■上記のファイルが複数のサブフォルダ内に散らばっているとします。 フォルダAの中にあるサブフォルダを含めた全てのファイルに対し、同じように先頭行を削除したい。 上記の2点をおこないたいと思います。1ファイルづつ先頭行を消していくのは大変な作業なので一発でできればと思っています。 よろしくお願い致します。

  • クライアントからサーバーにフォルダごとファイルをコピーするバッチファイル

    お世話になっております。 今回出された課題の中に、わからないところがいくつかありましたので ご協力いただければと思い、投稿させていただきました。 下記の内容について、ご存知の方がおられましたら お教え頂きたいとおもいます。 (1)、192.168.*.***のAフォルダを、ネットワークドライブ(ドライブ名:Z)に割当てる ※サーバのユーザ名:user、パスワード:password (2)、サーバのフォルダ(B)にクライアントPCのマイドキュメントのファイルをすべてコピーする (3)、コピーが終了したことを示すテキストファイル(end.txt)をデスクトップに作成し ファイル内に“コピーは正常に終了しました”というコメントを表示させる 以上の3つのことについて、お教え願いたいと存じます。 よろしくお願いいたします。

専門家に質問してみよう