2012-07-13 15 views
49

संभव डुप्लिकेट:
How to create directories recursively in ruby?क्या रूबी में mkdir -p है?

रूबी में, मैं कैसे कर सकता है:

mkdir -p cool/beans 
  1. यहाँ क्या मैं के साथ आया था:

    Dir.mkdir('cool') unless File.directory?('cool') 
    cool_beans_path = File.join('cool', 'beans') 
    Dir.mkdir(cool_beans_path) unless File.directory?(cool_beans_path) 
    

    लेकिन, क्या कोई बेहतर तरीका नहीं है?

  2. मैं जानता हूँ कि मैं कर सकता:

    system('mkdir', '-p', File.join('cool', 'beans')) 
    

    लेकिन, वह मंच स्वतंत्र नहीं है, यह क्या है? जैसे, यह मैक पर काम करता है लेकिन विंडोज़ पर नहीं, है ना?

उत्तर

96
require 'fileutils' 
FileUtils.mkdir_p 'cool/beans' 
+3

नोट: टिल्डा विस्तार अपने आप नहीं कर रहा है। – Manav

+6

डॉक्स: ['FileUtils.mkdir_p'] (http://www.ruby-doc.org/stdlib-2.1.1/libdoc/fileutils/rdoc/FileUtils.html#method-c-mkdir_p) – Phrogz

+0

क्या कोई रास्ता है एक पुनरावर्ती अस्थायी निर्देशिका बनाने के लिए, पहले tmpdfir बनाने के अलावा और फिर अस्थायी निर्देशिका के अंदर Dir.mkdir कर रहे हैं? – theTuxRacer

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