这是我到目前为止所拥有的:
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变量。
答案 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