• ベストアンサー

Ruby1.9で上書き禁止でのファイルコピーする方法について。

Ruby1.9で上書き禁止でのファイルコピーする方法について。 次のようなロジックを組んでいますが、同一ファイルがある場合でも上書きをしてしまいます。 同一ファイルは上書きさせないようにするにはどうすれも良いでしょうか? file1 = "C:/*.*" file2 = "C:/デバッグ用2/" FileUtils.cp(Dir.glob(file1),file2) どうか宜しくお願い致します。

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

  • ベストアンサー
回答No.2

file1とfile2 に含まれるファイル名の差分配列を作成すればOKです。 file1 = "C:/*.*" file2 = "C:/デバッグ用2/" file2_list = Dir.entries file2 FileUtils.cp(Dir.glob(file1).reject{|f| file2_list.index File.basename(f)},file2)

NOBU4517
質問者

お礼

いつも的確なご回答頂き有難う御座います。 記載頂いたロジックにて、やりたいことがうまく出来ました。 ロジックを勉強させていただき有難うございました。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

1ファイルずつ、File.exist? で調べながらコピーするしかないでしょうね。

NOBU4517
質問者

お礼

ご回答頂き有難う御座います。 研究させて頂きます。