How to create directories recursively in ruby?

If you are running on unixy machines, don't forget you can always run a shell command under ruby by placing it in backticks.

`mkdir -p /a/b/c`

Use mkdir_p to create directory recursively

path = "/tmp/a/b/c"

FileUtils.mkdir_p(path) unless File.exists?(path)

Use mkdir_p:

FileUtils.mkdir_p '/a/b/c'

The _p is a unix holdover for parent/path you can also use the alias mkpath if that makes more sense for you.

FileUtils.mkpath '/a/b/c'

In Ruby 1.9 FileUtils was removed from the core, so you'll have to require 'fileutils'.

Tags:

Ruby