繁体   English   中英

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

[英]How to get a list of files in a directory with Ruby?

这是我到目前为止的内容:

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变量。

files = Dir.glob(File.join(folder_path, "*"))
files = Dir.glob(folder_path + '/*')
...
Dir.chdir(baseDirectory)
files = Dir.glob("*")
...

顺便说一句,在Ruby中使用CamelCase作为变量和方法是不好的(它仅用于模块和类)。 使用snake_case。

如果您只想要文件

class FileRenamer
    def RenameFiles(folder_path)
        files = Dir.glob( File.join(".","*")).select{|x| test(?f,x)}
    end
end
    Find.find(@path) do |path|
      if FileTest.directory?(path)
        @dirs.push(path)
      else
        @files.push(path)
      end
    end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM