复制一个文件,在Ruby中根据需要创build目录

假设我在/source.txt有一个文件,我想把它复制到/a/b/c.txt/a/a/b可能存在也可能不存在。

有没有办法复制文件,并在必要时创build必要的父目录?

理想情况下,这将是一个命令。 特别是,我想避免parsing目标path的文件/目录部分,然后手动调用FileUtils.mkdir_pFileUtils.cp

纯Ruby是首选,但依赖于Rails的解决scheme是可以接受的。

通常情况下,您需要确保目标目录path存在,所以我怀疑是否有内置命令执行您要查找的内容。

但是使用FileUtils.mkdir_p(dir)可能非常简单,特别是使用File.dirname()来parsingpath。 你甚至可以把它包装在一个工具程序中,例如:

 require 'fileutils' def copy_with_path(src, dst) FileUtils.mkdir_p(File.dirname(dst)) FileUtils.cp(src, dst) end