puts "Renaming files..."
folder_path = "/home/papuccino1/Desktop/Test"
files = Dir.glob(folder_path + "/*").sort
extension = File.extname(files[0])
puts File.basename(files[0], extension)
puts "Renaming complete."
我的最终目标:抓取文件夹中的每个文件名,并将文件重命名为Title Case:
input: output:
test.txt Text.txt
this is just a test.doc This Is Just A Test.doc
The Final test is near.xls The Final Test Is Near.xls
我如何遍历'文件'中的每个项目?
谢谢! :)
答案 0 :(得分:1)
只是为了展示如何以rubyish方式遍历文件:
Dir.glob(folder_path + "/*").sort.each do |f|
# do something like:
puts File.basename(f, File.extname(f))
end
请注意,您可以使用每个或地图方法。两者之间的区别在于每个都返回初始集合,而map返回修改后的集合。
答案 1 :(得分:1)
一种典型的方法是使用each
files.each do |file|
p file
end
首先查看文件名,然后添加重命名方法。
答案 2 :(得分:-1)
Dir.glob( File.join(".","*") ).select{|x| test(?f,x)}.sort.each | path |
puts File.basename(x,File.extname(x)).split("\s").map(&:capitalize).join("\s")
end