2013-07-04 7 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 메소드가 디렉토리 트리를 복사하는 것처럼 보입니다. rubydoc에서 몇 가지 정보가있다 : 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