如何检查Ruby中是否存在文件夹列表?
我试图在我的C:/drive上找到一个匹配的文件夹列表,然后执行一些代码,但它没有按预期工作 我可以很好地处理一个文件夹,但不知道如何处理我要查找的文件夹列表 我的代码如何检查Ruby中是否存在文件夹列表?,ruby,Ruby,我试图在我的C:/drive上找到一个匹配的文件夹列表,然后执行一些代码,但它没有按预期工作 我可以很好地处理一个文件夹,但不知道如何处理我要查找的文件夹列表 我的代码 Dir.glob("C:/*") directory_list = Array.new directory_list << "FolderA" directory_list << "FolderB" if Dir.exists?(directory_list) puts "
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://**/”),我们在上面做了一些工作,我需要先了解一下代码,以便将其与我的程序的其余部分集成。