2015-10-05 199 views
0

我有两个目录:如何将一个目录复制到另一个(红宝石)

/home/me/project1 
/home/me/project1-mirror 

现在我想复制:

/home/me/project1/lib/* 
/home/me/project1-mirror/lib 
/home/me/project1/test/* 
/home/me/project1-mirror/test/* 

我该如何处理呢?如果/ home/me也适用于其他用户,这是一件好事。

+0

什么是'项目mirror'报价?它是源目录还是目标目录?为什么'project2'不会出现在你的第二个代码清单中?如果你编辑你的代码清单,这将有所帮助,这将清楚什么是源和目的地,如下所示:'/ home/me/project1/lib/* - >/home/me/project2/lib/*' –

+0

对不起。我现在更新了这个问题。我的意思是将project1中的内容复制到project1-mirror。打扰一下。 –

回答

1

使用此:

require 'fileutils' 

FileUtils.cp_r 'project1/lib/.', 'project1-mirror/lib', verbose: true 
FileUtils.cp_r 'project1/test/.', 'project1-mirror/test', verbose: true 

documentation

# If you want to copy all contents of a directory instead of the 
# directory itself, c.f. src/x -> dest/x, src/y -> dest/y, 
# use following code. 
FileUtils.cp_r 'src/.', 'dest'  # cp_r('src', 'dest') makes dest/src, 
            # but this doesn't. 
相关问题