带有子文件夹的ruby copy文件夹到目标位置

sas*_*asi 22 ruby directory copy fileutils

我正在尝试将包含其所有子文件夹的文件夹从源文件复制到目标文件夹.以下代码似乎没有这样做.我可以通过使用来复制文件而不是子文件夹

FileUtils.cp_r(Dir["/Volumes/TempData/Collects/Sasi/android/*.*"],"/Volumes/Data/Apps/android")
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

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
Run Code Online (Sandbox Code Playgroud)

Mai*_*eru 34

看起来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
Run Code Online (Sandbox Code Playgroud)

  • Threadnecromancer,@ sasi请接受答案(如果它对您有用)。 (2认同)