• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチ処理でファイルを一つにまとめる)

ファイルを一つにまとめるためのバッチ処理方法

Gottholdの回答

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.4

以下の記述を 拡張子bat (filecopy.batとか) のテキストファイルとして保存し 実行すれば、目的のことはできると思います。 バッチファイルの最初の方にある copy_from、copy_to、list_file、work_fileに指定しているパスは そちらの環境に合わせて書き換えてください、 また、エクセルのA列は バッチファイル内のset list_fileで指定するファイルにコピーしておきます。 ==ここから==================================== @echo off rem copy_fromにmainフォルダ、copy_toにmatomeフォルダを設定する set copy_from=D:\Temp\main set copy_to=D:\Temp\matome rem エクセルのA列をテキストファイルにコピーして rem そのテキストファイルのパスを指定する set list_file=D:\Temp\filelist.txt rem work_fileには作業用に生成されるファイル名を適当に指定 set work_file=D:\Temp\fullpathlist.txt rem 作業ファイルが存在するなら削除 del "%work_file%" rem dirでファイルを探すためコピー元フォルダに移動 pushd "%copy_from%" rem コピーするためのファイルリスト(フルパス)をwork_fileに出力 for /f "delims= usebackq" %%F in ("%list_file%") do ( dir /b /s "%%~F" >> "%work_file%" ) rem コピーを実行 for /f "delims= usebackq" %%G in ("%work_file%") do ( copy "%%~G" "%copy_to%\%%~nxG" ) rem 元のフォルダに戻る popd ==ここまで==================================== [D:\Temp\filelist.txt の内容] aaa.txt ccc.txt ggg.txt hhh.txt kkk.txt mmm.png これって、今までは手動でやってたんでしょうか。 だとしたら私の感覚だと信じられない時間の無駄遣い・・・。 何でも良いからプログラミング勉強しようよ。

miyabi_700
質問者

お礼

す、すごい!! 一日がかりの作業が一瞬で終わってしまいました。 Gotthold さんは天才ですか? 大変助かりました。 同じようなことができる 何かオススメのプログラミングありますでしょうか?

miyabi_700
質問者

補足

丁寧に、なんのコマンドが何の処理をしているかまで 書かれていますね! ご親切に説明まで書いていただきありがとう御座います。 神様だ!

関連するQ&A

  • カレントフォルダ以下のファイルの検索と結合バッチファイルの記述のしかたを教えてください。

    初心者です。 バッチファイルを作りたいのですが、 記述方法を教えていただきたいのです。 1のフォルダに、 ・aaa.txt ・bbb.txt ・ccc.txt があり、 2のフォルダにも ・aaa.txt ・bbb.txt ・ccc.txt があるような構造で、そのようなフォルダは複数あり、 それぞれaaa.txt bbb.txt ccc.txtが入っています。 これを、最終的には 同じファイル名は1ファイルにまとめて tougou_aaa.txt というテキストを作りたいと思っています。 まとめたテキストの中は、フォルダ1~複数(数は場合により違います)のaaa.txtが縦にずらっとくっついた状態です。 これを、b c d f~(ファイルの数も場合により異なりますが、上限はあり、ファイル名も固定です。)ファイルまですべて行い、 tougou_bbb.txt tougou_ccc.txt なども一度にできてほしいのです。 わかる方がいらっしゃれば、何卒宜しくお願い致します。

  • バッチ処理でファイルのコピー

    外付けHDD内にカテゴリごとにフォルダ分けされた5000個のファイルのうち エクセルのa列にあらかじめ記載された1000項目のファイル名と同じファイルを取り出し 違う場所のフォルダにコピーさせ一箇所に集めたいです。(cドライブ内や、違う外付けHDDなど) 現在一つ一つ手作業で、コピーさせています。 早く作業が終わらせれる バッチ処理やコマンドプロントの処理があれば、ご教授お願いできないでしょうか? 作業としては、単純そうなのですが、1日つぶしてしまい、時間をもったいなく感じております。 よろしくお願い致します。 ※補足 フォルダ名サブフォルダ名ファイル名には日本語が含まれていることもあります。 またファイル名で名前が重複しているものはありません。

  • バッチファイルのエラー処理

    困っています。 下記の様な3つで1セットのコピーをバッチで行いたいと考えています。 ◇1 c:\aaa.txt d:\a:\aaa.txt c:\aaa.txt d:\B:\aaa.txt c:\aaa.txt d:\C:\aaa.txt ◇2 c:\bbb.txt d:\a:\bbb.txt c:\bbb.txt d:\B:\bbb.txt c:\bbb.txt d:\C:\bbb.txt ここで、エラー処理を加えて、 c:\aaa.txt d:\a:\aaa.txt がエラーになったら c:\aaa.txt d:\B:\aaa.txt c:\aaa.txt d:\C:\aaa.txt の処理をスキップし、別ファイルに「aaa.txtのコピーを中止しました」と書込み次のファイル「c:\bbb.txt」のコピーを行う。 何度試しても、うまく動きません。 って言うか全然だめです。 誰か教えてください。お願いします。

  • ファイル処理について

    宜しくお願いします。 ファイル「ppp.txt」の中の文字列を逆にする コードを組みたいのですが、どの本を読んでも ロジックが見当たりません。 ファイルppp.txtの中は以下です。 AAA BBB CCC DDD EEE -> EEE DDD CCC BBB AAA としたいのです。 じっくり探せばあると思うのですが、 急ぎなので投稿しました。 これを実現するPerlスクリプトコードを 教えて頂けないでしょうか。 宜しくお願いいたします。

    • ベストアンサー
    • Perl
  • エクセルファイルのファイル名で検索

    あるフォルダからエクセルファイルに記載されているファイル複数を検索で表示させたいと思っています。(表示させたあとにファイルを開き編集します。)エクセルファイルのA列に1セルに1つファイル名が記載されています。 ファイル名は複数あります。 A1セル "aaa.doc" A2セル "bbb.doc" A3セル "ccc.doc" 何か良い方法はないでしょうか。 よろしくお願いします。

  • C言語でのファイル検索&ファイル書き換えについて

    C言語である特定のフォルダを指定して、その階層内(サブフォルダも含む)にあるファイル、例えばsample_nameをファイル名に含むファイルを見つけ、そのファイル内の例えば下のような書き換えを行えるようなプログラムはどうつくればいいのでしょうか。 元ファイル ~sample_name1.txt~ aaa, 10 bbb, 20 ccc, 30 ~sample_name2.txt~ aaa, 30 ccc, 12 bbb, 20 ddd, 15 上のように各ファイルにaaaやbbbが共通に含まれています。 対象ファイル:sample_name 対象文字列:aaa 変換後:100 変換後ファイル ~sample_name1.txt~ aaa, 100 bbb, 20 ccc, 30 ~sample_name2.txt~ aaa, 100 ccc, 12 bbb, 20 ddd, 15

  • powershellのファイル名が同一検索

    とある同一フォルダ内に ファイル名 AAA-bbb.txt AAA-ccc.txt 等のファイルがあります。 AAAをキーとして、更新日時が最新の分を 読み込みたいと考えています。 どのように行えばいいのでしょうか。 よろしくお願いいたします

  • PowerShellで特定ファイルを移動

    PowerShellを使って、特定のファイル(ファイル名に年度の入ったもの)を別のファイルに 移動させたいのですが、どうすればいいのでしょうか? フォルダ1 AAA.TXT BBB_20120309.TXT  ←このファイルだけをフォルダ2へ移動させたい CCC.TXT フォルダ2 DDD_20111231.TXT EEE_20101105.TXT よろしくお願いいたします。

  • 行数ごとに検索をかけて並び替えをしたいのですが・・

    数千のファイル名が書かれたテキストファイルがあります。(Aとします。) /yyy/ccc.txt /aaa/aaa.txt /bbb/bbb.txt /sss/aaa.txt /ccc/bbb.txt /zzz/ccc.txt ・ ・ ・ ユニークファイル名だけ書かれたファイルがあります。(Bとします。) aaa.txt bbb.txt ccc.txt ・ ・ ・ Bの行数1行ずつAで検索をかけ、ファイル名を新しいファイル(Cとします)に書き出したいのです。 /aaa/aaa.txt /sss/aaa.txt /bbb/bbb.txt /ccc/bbb.txt /yyy/ccc.txt /zzz/ccc.txt ・ ・ ・ シェルを使ってやりたいのですが、どのようにすればいいのか見当もつきません。 どなたかお分かりのかたいましたら教えてください。よろしくおねがいします。

  • 複数のテキストファイルを1つにまとめる

    同一フォルダ内にある複数のテキストファイルの内容を1つにまとめる方法を探しております。 例えば、 a.txt, b.txt, c.txt が同一フォルダにあり、 それぞれの内容が AAA BBB CCC である時に、これらをまとめて matome.txtとして、その内容が AAA BBB CCC となるようなプログラムを書きたいのですが、どの様な方法が考えられますでしょうか。 上の例では3つのテキストファイルですが、実際に処理したいファイルは数百個になる為、一つ一つファイル名を入力する作業が大変で困っております。 同一フォルダ内のファイルをファイル名順に一度に読み込み、まとめる方法がありましたらお教え下さい。