Dir globbing没有完全递归

时间:2011-10-10 21:12:20

标签: ruby glob

files = Dir[File.join(path, '**', '*.jpg')].each do |s| 
    puts s       
end

我在一个目录中有一堆子文件夹,这个代码片段似乎进入了一些子目录,但跳过了大部分子目录。我怎样才能将它复制到所有目录中?

另外,我应该使用Find吗?如果是这样,有人可以提供一个与上面相同的例子,即在所有子目录中查找.jpgs吗?

编辑 -

好的,显然当我使用.JPG(大写)时,它会找到所有文件。奇怪......我怎么能找到他们中的任何一个?

2 个答案:

答案 0 :(得分:4)

这可能对不同的扩展有所帮助:

files = Dir[File.join(path, '**', '*.{jpg,JPG}')].each do |s| 
    puts s       
end

答案 1 :(得分:-4)

显然你忘了在Dir上使用glob方法,如:

 Dir.glob(File.join('**','*.jpg'))