• ベストアンサー

バッチファイル 別ファイルにリストしてあるファイルをコピーしたい

バッチファイルで、ファイル名前をリストしてあるの別ファイルを参照して、リストの名前のファイルを任意のフォルダにコピーしたいです。 ●条件 ・コピー元/コピー先は固定でよいです。 ・できれば、コピー元のサブフォルダのファイルも対象にしたいです。 (この場合、リストにもxxx\○○○.txt のように記述) 「for」コマンドを使うのでしょうか? 宜しくお願いいたします。

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

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.2

次の条件で作ってみます。 ・ コピー先のディレクトリは作成済み。 ・ 別ファイル(files.txt)には、各行に1つのファイルを記述。 ------------------------------------------------------------ set dir1=d1 :ここコピー元のディレクトリ set dir2=d2 :ここコピー先のディレクトリ : for /F %%i in ( files.txt ) do copy %dir1%\%%i %dir2%

indigo45kk
質問者

お礼

ありがとうございます。求める処理ができました!!助かりました!!

その他の回答 (1)

noname#67980
noname#67980
回答No.1

時間が無いので、詳細な回答はご容赦を、 参考リンクだけ貼り付けておきます。 http://www.atmarkit.co.jp/fwin2k/operation/command008/command01.html http://www.atmarkit.co.jp/fwin2k/operation/command008/command02.html

indigo45kk
質問者

お礼

ありがとうございます。今後の参考にします。

関連するQ&A

  • 【バッチ】外部リストを参照したコピー処理について

    バッチの作成(DOSコマンド)で質問です。 今、フォルダ(とサブフォルダ、ファイル)をコピーするバッチを作成していますが、コピー対象のフォルダが複数あり今後も増える可能性があるので外部リスト化しようと下記のようなバッチとリストファイルを作成ました。 【バッチの記述(抜粋)】 for /f %%i in (リストファイル) do ( xcopy /i /e /q /y /r /v "%%i\*" "コピー先フォルダ\%%i" ) 【リストファイルの記述】 \\A\1\2\3\4 \\B\1\2\3\4 \\C\1\2\3\4 上記でリストにあるフォルダのコピーはできるのですが、これだとリスト内の全フォルダがコピー対象になってしまいます。 このリストファイルは似た処理を行う別のバッチでも参照させたく、またバッチ毎に参照するパスを分けたいのです。 (リストファイルを分ければ簡単ですが、メンテナンスをラクにしたくて・・) 例えば下記のようにラベルを付与し、ラベルから次のラベルまでを対象にする、などです。 【リストファイルの記述】 :bat1 \\A\1\2\3\4 \\B\1\2\3\4 \\C\1\2\3\4 :bat2 \\D\1\2\3\4 \\E\1\2\3\4 \\F\1\2\3\4 :bat3 \\G\1\2\3\4 \\H\1\2\3\4 \\I\1\2\3\4 何かいい方法はありますでしょうか?

  • 1つ下のファイルをコピーするバッチファイル

    コマンドプロンプトで実行するバッチファイル(x.bat)で C:\Aというフォルダのさらに1つ下のフォルダ (このフォルダは1つのみで名前は毎回変化します) の中にあるc.mpgというファイルを D:\Bフォルダにコピーするバッチファイルを 作りたいのですがどのように記述すればよいのでしょうか。 例えば、C:\A\data_20120922195626というフォルダ (data_20120922195626というフォルダ名は任意の名前ですが C:\Aフォルダの中にはこのフォルダ1つしかありません) の中に\c.mpgというファイルがあるとします。 バッチファイル x.bat を実行すると D:\Bフォルダにc.mpgをコピーしたいのです。 なお、data_20120922195626というフォルダの名前は バッチファイルを実行する時には毎回異っていますが バッチファイル実行中は変化しません。 VBscriptやwshなどは使わずWindosXPの標準DOS機能のみで お願いします。(WindosXP SP3)

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

    コマンドバッチで、ネットワーク上にある共有フォルダ内にあるファイルのコピーを行おうと思っているのですが、 「Logon failure : unknown user name or bad password」と出てしまい上手く出来ません。 コマンドでコピーの時にパスワードを記述とか出来るのでしょうか?出来るなら方法などを教えてきただきたく思います。 ものすごい簡単な質問なのかもしれませんがよろしくお願いします。

  • バッチでリストに基づきサブフォルダも含めファイルをコピー・削除する方法

    お世話になります。 バッチでのファイルコピーで、あるディレクトリを対象に テキストリスト(たとえば sample.txt)に書かれてあるファイルのみを 違うディレクトリにコピーしようとしているのですが、 サブディレクトリにあるファイルも含めてコピーする方法がないかと思い ご質問させていただきました。 またコピー終了後にコピーしたファイルは削除する方法もあれば 併せてお願いできますでしょうか? 一応こちらの質問を参考としたのですが、 http://oshiete1.goo.ne.jp/qa3913616.html なかなかうまくいかず・・・ また sample.txt には以下のようにファイル名しか 書かれておりません。 -- abcd.txt efgh.pdf ijkl.xls mnop.exe ... -- この場合のバッチの書き方をお教えいただけませんでしょうか? よろしくお願いいたします。

  • バッチファイルで複数フォルダのファイルを結合したい

    バッチファイルで複数フォルダの中にあるlist.txtというテキストファイルを結合するにはどのように記述すればよいでしょうか。 具体的には、 複数のフォルダがあり、 C:\test\202104026\list.txt C:\test\202104025\list.txt      : C:\test\20000101\list.txt というような感じで、 各フォルダの中にlist.txtというファイルが入っています。 list.txt以外にもいろいろなファイルが入っています。 各フォルダの中のlist.txtファイルの内容を結合した1個のファイルを生成するバッチファイル(test.bat)を教えてください。 よろしくお願いします。(Windows10)

  • VBA バッチファイルでコピー出来ない

    以下のマクロを作りましたが、うまくいきません。 フォルダBにあるバッチファイルを実行するだけのマクロで、バッチファイルはフォルダAにあるファイルを自身のフォルダつまりフォルダBにコピーするものです。 マクロ Sub Test() Dim Str As String Str=shell(folderB\batch.bat, vbnormalfocus) End sub Batch.batの中身 Copy folderA\fileA . 注:folderAやfolderBはそれぞれのフォルダのフルパスです。 実行すると、何故かフォルダBでなくてデスクトップにコピーされます。バッチファイルをクリックして直接起動すると、目論見通りフォルダBにコピーされます。コマンドプロンプトからフォルダBに移動し、バッチファイルを起動しても、目論見通りフォルダBにコピーされます。 マクロから起動した時だけ、どうしてデスクトップにコピーされるのでしょうか?

  • バッチでサブフォルダ内のファイルも含めたコピー処理をするには

    DOSコマンドのコピーコマンドについての質問です。 指定されたフォルダ内のファイル全て(サブフォルダ内に格納されているファイルも全て)をc:\bkup\にコピーするバッチを組みたいのですがどのようにすればよいのでしょうか。 xcopy /y /e %1 c:\bkup\ とした場合、サブフォルダもコピー対象に入りますがサブフォルダ内のファイルの格納先がc:\bkup\サブフォルダ名\になってしまい、私の実現したい処理とは異なります。 サブフォルダ内のファイルもc:\bkup\にコピーするにはどうすればよいのでしょうか。 宜しくお願い致します。

  • バッチファイルにてフォルダのみをコピーしたい

    たくさんのフォルダが有って、その下にもサブフォルダがあります。 また、フォルダの中にはファイルも存在します。 このような状況の中、サブフォルダもフォルダもコピーせず、フォルダのみをコピーしたいのですが、バッチファイルにて可能でしょうか?

  • VBA バッチファイルでコピーできない

    この質問は直近で出した質問を誤って締め切ってしまったため、再質問として書いてます。 以下のマクロを作りましたが、うまくいきません。 フォルダBにあるバッチファイルを実行するだけのマクロで、バッチファイルはフォルダAにあるファイルを自身のフォルダつまりフォルダBにコピーするものです。 マクロ Sub Test() Dim Str As String Str=shell("""" & folderB\batch.bat & """", vbnormalfocus) End sub Batch.batの中身 Copy "folderA\fileA" . '見えにくいですが、最後にピリオドがあります。 folderAやfolderBはそれぞれのフォルダのフルパスです。パスに空白を含むため " で囲むようにしてます。 実行すると、何故かフォルダBでなくてデスクトップにコピーされます。バッチファイルをクリックして直接起動すると、目論見通りフォルダBにコピーされます。コマンドプロンプトからフォルダBに移動し、バッチファイルを起動しても、目論見通りフォルダBにコピーされます。 マクロから起動した時だけ、どうしてデスクトップにコピーされるのでしょうか?

  • D&Dでファイルをコピーをしたい

    業務上、ダブルクリックでファイルをコピーするバッチファイルを作成して使用しています。 コピー元とコピー先は毎回同じですが、ファイル数やファイル名は毎回変わります。 したがって、バッチファイルの中身を毎回書き換えています。 バッチファイルの記述をドラッグ&ドロップに対応するような構文にできれば、 ファイル名が変わってもドラッグ&ドロップでファイルがコピーできて便利だなと思ったのですが、 それは可能なのでしょうか。 可能であれば、記述をお教えいただけますでしょうか。 ネットを検索しましたが、VBでドラッグ&ドロップを実現する記述がたくさんありますが、 敷居が高くて理解できませんでしたし、 コマンドプロンプトのコマンドも探しましたが、見つかりませんでした。 set inputとset outputで特定のフォルダ内のファイルをバッチで参照して連続してコピーしてくれないかなと思ったのですが、 現在試してみています。

専門家に質問してみよう