如何在Ruby中重命名文件?
这是我的.rb文件:
puts "Renaming files..." folder_path = "/home/papuccino1/Desktop/Test" Dir.glob(folder_path + "/*").sort.each do |f| filename = File.basename(f, File.extname(f)) File.rename(f, filename.capitalize + File.extname(f)) end puts "Renaming complete."
这些文件从其初始目录移到.rb文件所在的位置。 我想现场重命名文件,而不移动它们。
有什么build议做什么?
简单地说:
File.rename(f, folder_path + "/" + filename.capitalize + File.extname(f))
folder_path不是文件名的一部分吗?
puts "Renaming files..." folder_path = "/home/papuccino1/Desktop/Test/" Dir.glob(folder_path + "*").sort.each do |f| filename = File.basename(f, File.extname(f)) File.rename(f, folder_path + filename.capitalize + File.extname(f)) end puts "Renaming complete."
编辑:看来马特正在给我和我一样的答案,只是以一个稍微不同的方式。
如果您要在与要更改的文件相同的位置运行
File.rename("test.txt", "hope.txt")
虽然说实话,我有时候根本看不到使用ruby的意义……只要你的文件名在shell中被简单的解释,
`mv test.txt hope.txt`
如果你在Linux文件系统上,你可以试试mv #{filename} newname
您也可以使用File.rename(旧的,新的)