2012-07-13 4 views
49

可能性の重複:Rubyで
How to create directories recursively in ruby?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')) 
    

    しかし、それはプラットフォームに依存しない、それは?同様に、Macでは動作しますが、Windowsでは動作しません。

答えて

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

関連する問題