如何检查Ruby中是否存在文件夹列表?

如何检查Ruby中是否存在文件夹列表?,ruby,Ruby,我试图在我的C:/drive上找到一个匹配的文件夹列表,然后执行一些代码,但它没有按预期工作 我可以很好地处理一个文件夹,但不知道如何处理我要查找的文件夹列表 我的代码 Dir.glob("C:/*") directory_list = Array.new directory_list << "FolderA" directory_list << "FolderB" if Dir.exists?(directory_list) puts "

我试图在我的C:/drive上找到一个匹配的文件夹列表,然后执行一些代码,但它没有按预期工作

我可以很好地处理一个文件夹,但不知道如何处理我要查找的文件夹列表

我的代码

Dir.glob("C:/*")

directory_list = Array.new

directory_list << "FolderA"
directory_list << "FolderB"

    if Dir.exists?(directory_list)

        puts "Does exist"

    else

        puts "Does not Exist"
    end
 dirs = ["FolderA", "FolderB"] 
 reg = Regexp.union dirs exists, 
 rest = Dir.glob("{B,C,D}:/*").partition{ |path| path =~ reg } 
 puts exists
感谢凯尔在聊天室里

c_drive = Dir.glob("**/") %w(FolderA, FolderB).each do |dir| if c_drive.include?(dir) puts "#{dir} exists" else puts "#{dir} does not exist" end end c_drive=Dir.glob(“**/”) %w(FolderA,FolderB)。每一个do|dir| 如果c_驱动器包括?(目录) 放置“#{dir}存在” 其他的 放置“#{dir}不存在” 结束 结束
在windows上,目录在驱动器前面,因此您需要:

"C:/FolderB" =~ /FolderB|FolderA/
守则:

dirs = ["FolderA", "Folderb"] 
reg = Regexp.union dirs 
exists, rest = Dir.glob("C:/*").partition{ |path| path =~ reg }
# now you have two arrays, one of directories that exist and the rest

您想通过C驱动器递归搜索这些文件夹吗?如果可能,请递归搜索。这似乎不起作用-我已将FolderB添加到C:,但代码返回它不存在。@Ninja2k尝试摆弄Dir.glob行。我不确定这在Windows box上是如何工作的,可能是Dir.glob(“C://**/”),我们在上面做了一些工作,我需要先了解一下代码,以便将其与我的程序的其余部分集成。