28

すべてのサブフォルダーを含むフォルダーをソースから宛先フォルダーにコピーしようとしています。以下のコードはそうではないようです。を使用して、サブフォルダーではなくファイルのみをコピーできます

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
4

1 に答える 1

41

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
于 2013-07-04T12:02:52.930 に答える