我正在try 搜索给定文件夹中给定类型的所有文件,并将它们复制到新文件夹中.

我需要指定一个根文件夹,并在该文件夹及其所有子文件夹中搜索与给定类型匹配的任何文件.

如何搜索根文件夹的子文件夹及其子文件夹?递归方法似乎可行,但我无法正确实现.

推荐答案

你想要Find模块.Find.find获取一个包含路径的字符串,并将父路径连同每个文件和子目录的路径一起传递给相应的块.一些示例代码:

require 'find'

pdf_file_paths = []
Find.find('path/to/search') do |path|
  pdf_file_paths << path if path =~ /.*\.pdf$/
end

它将递归地搜索路径,并存储以结尾的所有文件名.数组中的pdf.

Ruby相关问答推荐

Ruby PKCS7:添加;\r〃;字节正在 destruct 解密

碰撞检测测试中对象的 Nil 类

define_method:如何动态创建带参数的方法

从 Time 对象获取下/上个月

如何调试/显示使用 RestClient 发送的请求

Ruby 中的p是什么?

Ruby 中的 -> (stab) 运算符是什么?

Rake 与 Thor 的自动化脚本?

如何将值保存到 YAML 文件中?

将数组分成 n 组 m 大小?

Ruby数组限制方法

从命令行使用Bundle 器将 gem 添加到 gemfile

Ruby 将标题发布到 slug

Sublime Text 2 控制台输入

纯 Ruby 并发哈希

if语句末尾带有then有什么区别?

获取当前 ruby​​ 进程内存使用情况

Ruby总是Round Up

Array.empty 的相反方法是什么?或 [].empty?在Ruby中

将哈希传递给函数 ( *args ) 及其含义