加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 如何递归复制目录内容并排除源目录本身?

发布时间:2020-12-16 23:00:58 所属栏目:百科 来源:网络整理
导读:使用FileUtils cp_r通常是我如何复制目录,但我似乎无法排除基目录.这是我想要的工作,但它没有: FileUtils.cp_r "#{source_path}**",target_path,:verbose = true source_path有我想要递归复制的子目录.我只是不想要实际的source_path目录,只需要它下面的
使用FileUtils cp_r通常是我如何复制目录,但我似乎无法排除基目录.这是我想要的工作,但它没有:
FileUtils.cp_r "#{source_path}**",target_path,:verbose => true

source_path有我想要递归复制的子目录.我只是不想要实际的source_path目录,只需要它下面的所有内容.

我尝试使用Dir.glob但是无法正确使用它.

这是一个Windows副本,我知道我可以使用xcopy,但想知道如何在Ruby中完成它.

解决方法

你想使用source_path /.而不是source_path / **,如 documentation的最后一个例子中所述
?  fileutils  ls
cp_files.rb dst         source
?  fileutils  tree source 
source
├── a.txt
├── b.txt
├── c.txt
└── deep
    └── d.txt

1 directory,4 files
?  fileutils  tree dst 
dst

0 directories,0 files
?  fileutils  cat cp_files.rb 
require 'fileutils'
FileUtils.cp_r "source/.",'dst',:verbose => true
?  fileutils  ruby cp_files.rb 
cp -r source/. dst
?  fileutils  tree dst
dst
├── a.txt
├── b.txt
├── c.txt
└── deep
    └── d.txt

1 directory,4 files

这就是cp_files.rb的样子:

require 'fileutils'
FileUtils.cp_r "source/.",:verbose => true

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读