我有一个文件夹,考虑它的位置是/home/itsme/videos文件夹包含许多文件(扩展名为.txt、.rb、.mp4等的文件)。
但从这些文件中我只能重命名.mp4文件我想当场重命名这些文件,而不移动它们我如何使用ruby来实现这个目标。
为此,我使用的是Ruby1.9.3

最佳答案

这将是一个技巧,这里我使用FileUtils.mv方法。

path = "/home/itsme/videos"
Dir.open(path).each do |p|
  next if File.extname(p) != ".mp4"
  filename = File.basename(p, File.extname(p))
  newname = filename.upcase + File.extname(p)
  FileUtils.mv("#{path}/#{p}", "#{path}/#{newname}")
end

要使用FileUtils类方法,必须使用require fileutils

10-05 20:32
查看更多