复制一个文件,在Ruby中根据需要创build目录
假设我在/source.txt
有一个文件,我想把它复制到/a/b/c.txt
。 /a
和/a/b
可能存在也可能不存在。
有没有办法复制文件,并在必要时创build必要的父目录?
理想情况下,这将是一个命令。 特别是,我想避免parsing目标path的文件/目录部分,然后手动调用FileUtils.mkdir_p
和FileUtils.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