Ruby - 查找具有特定名称的目录

时间:2017-11-02 18:45:39

标签: ruby

假设我有像

这样的目录结构
MyDir
  + Music
  + Movies
  + Pictures
  + Videos

如何使用Ruby找到名为Pictures的目录?

2 个答案:

答案 0 :(得分:1)

您可以捕获Dir.pwd的输出,然后使用ls,例如:

files = `ls #{Dir.pwd}`
p files # "Movies\nMusic\nPictures\nVideos\n"
p files.split.include? 'Pictures' # true

或者也使用Open3

require 'open3'

files, = Open3.capture2('ls', Dir.pwd)
p files # "Movies\nMusic\nPictures\nVideos\n"
p files.split.include? 'Pictures' # true

请考虑您在MyDir文件夹中。

答案 1 :(得分:1)

Dir['MyDir/Pictures']

不幸的是,它不会让你返回一个对象,你只能使用一个数组来操作。因此,如果您想迭代此目录中的文件,您应该执行以下操作

Dir['MyDir/Pictures/*'].each do |file_name|
  # do something
end