web-dev-qa-db-ja.com

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
23
sasi

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

多くのオプション(ファイルの所有権を保持するかどうかなど)がありますが、いくつかの簡単なテストでは、次のようにソースディレクトリと宛先ディレクトリを渡すことができることが示されています。

FileUtils.copy_entry @source, @destination
35
Maikeru