जवाबों:
उपयोग करें mkdir_p:
FileUtils.mkdir_p '/a/b/c'
_pमाता-पिता / पथ आप भी अन्य नाम का उपयोग कर सकते हैं के लिए एक यूनिक्स पकड़ मिली है mkpath, तो यह है कि आप के लिए और अधिक समझ में आता है।
FileUtils.mkpath '/a/b/c'
रूबी में 1.9 FileUtils को कोर से हटा दिया गया था, इसलिए आपको करना होगा require 'fileutils'।
यदि आप यूनिक्स मशीनों पर चल रहे हैं, तो यह मत भूलो कि आप हमेशा बैकलिक्स के नीचे एक खोल कमांड चला सकते हैं।
`mkdir -p /a/b/c`
बचाव के लिए पथनाम !
Pathname('/a/b/c/d.txt').dirname.mkpath
FileUtils.mkdir_p '/a/b/c'बनाने + की अनुमति देता है d.txt?
Pathname('/a/b/c/d.txt').dirname.mkpathऔर File.write('/a/b/c/d.txt', content)बिना filename = '/a/b/c/d.txt'.rpartition('/').lastऔर बाकी के पार्सिंग
आप अपने तर्क का भी उपयोग कर सकते हैं
def self.create_dir_if_not_exists(path)
recursive = path.split('/')
directory = ''
recursive.each do |sub_directory|
directory += sub_directory + '/'
Dir.mkdir(directory) unless (File.directory? directory)
end
end
इसलिए यदि पथ 'tmp / a / b / c' है यदि 'tmp' मौजूद नहीं है, तो 'tmp' निर्मित हो जाता है, तो 'tmp / a /' इत्यादि इत्यादि।
FileUtilsऔरPathnameशायद हैं रूबी शेल पटकथा लेखन के लिए सबसे महत्वपूर्ण उपकरण।