如何重命名文件夹中的特定文件为ruby

r15*_*r15 1 ruby ruby-on-rails ruby-1.9 ruby-1.9.3

我有一个文件夹,考虑它的位置/home/itsme/videos.文件夹包含许多文件(扩展名为.txt,.rb,.mp4等的文件).

但是从那些文件我只需要重命名.mp4 文件.我想在不移动文件的情况下重新命名文件.我怎样才能使用ruby实现这一点.

为此,我使用ruby 1.9.3

sk1*_*712 9

这将是一招,我在这里使用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
Run Code Online (Sandbox Code Playgroud)

要使用FileUtils类方法,您必须使用包含它require fileutils