如何使用Ruby获取目录中的文件列表?

时间:2011-04-03 13:12:56

标签: ruby dir

这是我到目前为止所拥有的:

class FileRenamer
    def RenameFiles(folder_path)
        baseDirectory = folder_path

        files = Dir.glob("*")
    end
end

puts "Renaming files..."

renamer = FileRenamer.new()
files = renamer.RenameFiles("/home/papuccino1/Desktop/Test")
puts files

puts "Renaming complete."

问题是它似乎是在运行我的.rb文件的目录上获取文件。

如何将目录设置为我想要的目录?注意我有baseDirectory变量。

5 个答案:

答案 0 :(得分:10)

files = Dir.glob(File.join(folder_path, "*"))

答案 1 :(得分:2)

files = Dir.glob(folder_path + '/*')

答案 2 :(得分:0)

...
Dir.chdir(baseDirectory)
files = Dir.glob("*")
...

顺便说一下,使用CamelCase来处理ruby中的变量和方法并不好(它只适用于模块和类)。使用snake_case。

答案 3 :(得分:0)

如果你只想要文件

class FileRenamer
    def RenameFiles(folder_path)
        files = Dir.glob( File.join(".","*")).select{|x| test(?f,x)}
    end
end

答案 4 :(得分:0)

    Find.find(@path) do |path|
      if FileTest.directory?(path)
        @dirs.push(path)
      else
        @files.push(path)
      end
    end