2013-07-04 9 views
18

मैं अपने सभी उपफोल्डर्स के साथ एक फ़ोल्डर को एक गंतव्य फ़ोल्डर में कॉपी करने की कोशिश कर रहा हूं। नीचे दिया गया कोड ऐसा प्रतीत नहीं होता है। मैंसबफ़ोल्डर्स के साथ रूबी कॉपी फ़ोल्डर को लक्षित स्थान पर

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

संबंधित मुद्दे