2013-07-04 6 views
18

すべてのサブフォルダを含むフォルダをソースフォルダからコピー先フォルダにコピーしようとしています。 以下のコードはそうではありません。私はサブフォルダをターゲットディレクトリにコピーするrubyコピー

FileUtils.cp_r(Dir["/Volumes/TempData/Collects/Sasi/android/*.*"],"/Volumes/Data/Apps/android") 

それは私が欠けていることは何ですかを使用して代わりに、サブフォルダのファイルだけをコピーすることができますよ!

require 'fileutils' 
puts "operating_system" 
operating_system = gets.chomp 

    if operating_system == "android" then 
    FileUtils.cp_r(Dir["/Volumes/TempData/Collects/Sasi/android/**"],"/Volumes/Data/Apps/android") 
    puts "done" 
    elsif operating_system == "ios" then 
    FileUtils.cp_r(Dir["Volumes/Data/Apps/iOS/CX5/**"],"/Volumes/TempData/Collects/For_CS") 
    puts "done" 
    else 
    puts "do nothing" 
    end 

答えて

27

FileUtils.copy_entryメソッドがディレクトリツリーをコピーするようです。 ruby​​docでいくつかの情報があります:http://www.ruby-doc.org/stdlib-2.0/libdoc/fileutils/rdoc/FileUtils.html#method-c-copy_entry

は(そのようなファイルの所有権を維持するかどうかなど)のオプションがたくさんありますが、いくつかの簡単なテストでは、あなたはこのように送信元と送信先のディレクトリを渡すことができることを示しています

FileUtils.copy_entry @source, @destination 
+1

ありがとう、それは動作します! – sasi

+0

私のためにも動作します。 – amorphid

+0

Threadnecromancer、@sasiもしあなたのために働いたら、答えを受け入れてください。 – Pred

関連する問題