Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby – 如何递归复制目录内容并排除源目录本身?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用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

大佬总结

以上是大佬教程为你收集整理的ruby – 如何递归复制目录内容并排除源目录本身?全部内容,希望文章能够帮你解决ruby – 如何递归复制目录内容并排除源目录本身?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。