使用“目录?”检测目录方法

时间:2011-08-24 12:15:20

标签: ruby-on-rails ruby ruby-on-rails-3

我想在我的计算机上检测目录。但是当我写下代码时,Ruby只给我“。”和“..”。

Dir.foreach("c:/windows") do |i|
   puts i if File.directory(i)
end

请帮帮我。 感谢

3 个答案:

答案 0 :(得分:3)

Dir.foreach仅返回文件名(相对),因此无效。建立绝对路径或更好地尝试简单:

Dir['c:/windows/*/']

答案 1 :(得分:0)

您的代码似乎工作正常,但File.directory(i)应为File.directory?(i)

Dir.foreach("/mnt/tmp") do |i|
   puts i if File.directory?(i)
end
=>
.
..
majic
Dropbox

答案 2 :(得分:0)

它也是目录的一部分。向上移动文件夹。 因此需要在目录的每个文件中删除这两个文件。