• ベストアンサー
  • すぐに回答を!

xcopyで特定のファイルのみをコピーする方法

xcopyもしくはcopyコマンドを使用し、ディレクトリ内の特定のファイル(複数)を コピーするにはどのようにしたら良いのでしょうか? 特定のファイルの数が多すぎるため、一行ずつコマンドを書くのは手間が掛るため、 何か良い方法があれば教えて頂きたいと思います。 excludeオプションを使用すれば特定のファイルを除外できるようですが、 反対の意味の特定のファイルのみをコピーしたいです。 例) c:\test内は以下のファイルがあります。 ・aaa.txt ・bbb.txt ・ccc.txt ・ddd.txt ・eee.txt これらのファイルの内、bbb.txtとddd.txtとeee.txtをコピーしたいです。

共感・応援の気持ちを伝えよう!

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

  • ベストアンサー
  • 回答No.3
noname#159916
noname#159916

よくこんな感じでやってました。 バッチ用コマンドですがバッチファイルを作らずコマンドラインで実行させます。 ( コピー先フォルダを C:\distdir\ とします。) コマンドラインでこれ for %a in ( bbb.txt ddd.txt eee.txt ) do xcopy c:\test\%a c:\distdir を実行させると、 カッコ ( ) の中からファイル名を1個拾っては %a に代入し do 以下を実行します、 つまり以下の3コマンドに展開し1個ずつ実行します。 xcopy c:\test\bbb.txt c:\distdir xcopy c:\test\ddd.txt c:\distdir xcopy c:\test\eee.txt c:\distdir 尚、この場合は拡張子がいずれも txt なので、以下のように書くと文字数を若干減らせます。 1コマンドラインの文字数は限りがあるので、ファイル数が多くて他の部分を縮めたい時に有用です。 for %a in ( bbb ddd eee ) do xcopy c:\test\%a.txt c:\distdir ところで、文法を正確に記憶してなくて恐縮ですが、 Windows 配下のコマンドプロンプトが備えるコマンドでは、 予め対象のファイル名リストをテキストファイルで作っておき、 そこからファイル名を1個ずつ拾ってコマンド実行させる事が可能です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

丁寧なご説明ありがとうございました。 教えて頂いたfor文で、カッコ()にコピー対象のファイル名リストを指定し バッチファイルにて実行しコピー致しました。

その他の回答 (2)

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

「コピーするファイルの名前」を書いたファイルがあれば for でまわすも可.

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • bin-chan
  • ベストアンサー率33% (1403/4213)

私だったらバッチファイルを2つ書きます。Batch1を実行。 呼ぶバッチ(Batch1.bat)  call Batch2.bat aaa  call Batch2.bat bbb  call Batch2.bat ccc echo end of batch1 呼ばれるバッチ(Batch2.bat) XCOPY 送り側フォルダ\%1.txt 受け側フォルダ [適宜オプション] echo end of batch2

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • コピー元が固定パスでない場合のxcopyコマンドの書き方

    xcopyコマンドをバッチファイルで実行するのですが、 固定パスの場合は、 xcopy c:\aaa\bbb.txt c:\ccc (c:\aaaフォルダ内のbbb.txtをc:\ccc) と書けばよいと思うのですが、 コピー元が固定のパスではない場合はどうやって書けば良いのでしょうか? やりたいことは、 dddと言うフォルダの中にバッチファイルとeeeフォルダが あり、eeeフォルダの中にコピーしたいもの(fff.txt)が入っています。コピー先は固定でc:\gggの場合 dddと言うフォルダは何処にあっても可能な場合です。 win2000とwin98で書き方が違う場合は両方お願い致します。 よろしくお願いいたします。

  • CSVに外部テキストファイルを列として追加する方法

    こんにちは。 CSVファイル(base.csv)の先頭列に、別のテキストファイル(add.txt)の中身を新規の列として挿入したいと考えているのですが、よい方法がわかりません。。。 どうのような方法を使えば対応することができるでしょうか? どうぞよろしくお願いいたします。 ■CSVファイル(master.csv) title,developer_name,seller_name,primary_genre_name,application_url AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE ■テキストファイル(add.txt) id 000 111 222 333 ↓ ■目標としたファイル(master.csv) id,title,developer_name,seller_name,primary_genre_name,application_url 000,AAA,BBB,CCC,DDD,EEE 111,AAA,BBB,CCC,DDD,EEE 222,AAA,BBB,CCC,DDD,EEE 333,AAA,BBB,CCC,DDD,EEE

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

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

  • XCOPYで指定したフォルダとファイルをコピーしたい

    C:\AAAフォルダとC:\AAA以下のファイルをコピーしたくて、 XCOPY C:\AAA D:\BBB /E とすると、コピー先のD:\BBBにはAAAフォルダにあるファイルはコピーされるのですが、AAAフォルダそのものはコピーされません。 XCOPY C:\ D:\BBB /E とすればコピーできるのですが、そうするとC:\のほかのフォルダもコピーされてしまいます。 EXCLUDEオプションを使うには指定するファイルが多いため、あまり使いたくありません。(コピーする前にMDでコピー先にAAAフォルダを作成するのもなるべく避けたい) 知っている方がいらしたら教えて下さい。

  • ファイル処理について

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

    • ベストアンサー
    • Perl
  • dosでサイズを比較して異なるファイルだけコピー

    dosで全フォルダ内のファイルサイズを比較して異なるファイルだけコピーしたい 次のようなファイル構成で AAAフィルダ    BBBフォルダ  cccフォルダ    cccフォルダ   abc.txt      abc.txt   def.jpg      def.jpg  dddフォルダ    dddフォルダ   ghi.txt      ghi.txt   jkl.jpg      jkl.jpg AAA\ccc\abc.txtとBBB\ccc\abc.txt AAA\ccc\def.jpgとBBB\ccc\def.jpg AAA\ddd\ghi.txtとBBB\ddd\ghi.txt AAA\ddd\jkl.jpgとBBB\ddd\jkl.jpg 拡張子は問わずそれぞれに対するファイルのファイルサイズを比較して 大きくても小さくても異なるファイルだけbbbフォルダ内に上書きコピー したくご教授をお願いします

  • シェルで特定行を処理する方法を教えてください。

    初めてご質問させていただきます 数時間考えましたが、全くできない初心者です。 awkとかも使ってみましたが・ちんぷんかんぷんです。 よろしくお願いいたします。 環境:RedHat、シェル:bash [やりたいこと] 特定の文字以外から始まる行を、 特定文字から始まる行へ連結させたい。 (例  aaaから始まっていない行(bbb、ccc、ddd)を、  aaaから始まる行へ出力させる。 ■元となるテキストファイル ============ aaa bbb ccc ddd aaa aaa aaa eee aaa ============ ■整形後のファイル ============ aaabbbcccddd aaa aaa aaaeee aaa ============

  • テキストファイルの任意の文字以降の文字列を削除したい

    test.txt AAA+あいうえお BBB+かきくけこ CCC+さしすせそ DDD+たちつてと EEE+なにぬねの 上記(test.txt)のようなテキストファイルから、各行の+以降の文字列を削除して、 以下(result.txt)のようなテキストファイルを生成させるプログラムを作成させたいです。 result.txt AAA BBB CCC DDD EEE このようなプログラムを作るにはどのようにすればよいでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • 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

  • awkやsed等で特定の文字間を抜き出す

    cat text aaaa bbbb <AAA> ccc ddd <BBB> eee とあるときに <AAA> ccc ddd <BBB> だけ抜き出したいです。 どのようにすればよいでしょうか?