0

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

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

4

5 回答 5

10
files = Dir.glob(File.join(folder_path, "*"))
于 2011-04-03T13:23:26.407 回答
2
files = Dir.glob(folder_path + '/*')
于 2011-04-03T13:27:17.257 回答
0
...
Dir.chdir(baseDirectory)
files = Dir.glob("*")
...

顺便说一句,在 ruby​​ 中将 CamelCase 用于变量和方法并不好(它仅适用于模块和类)。使用snake_case。

于 2011-04-03T13:33:21.013 回答
0

如果你只想要文件

class FileRenamer
    def RenameFiles(folder_path)
        files = Dir.glob( File.join(".","*")).select{|x| test(?f,x)}
    end
end
于 2011-04-03T13:35:36.637 回答
0
    Find.find(@path) do |path|
      if FileTest.directory?(path)
        @dirs.push(path)
      else
        @files.push(path)
      end
    end
于 2011-04-03T13:47:13.927 回答