用 Ruby 编写一个脚本,将所有 *.htm 文件重命名为 *.html

问题描述 投票:0回答:4

我需要用 Ruby 编写一个脚本,将给定的所有 *.htm 文件重命名为 *.html 目录。

我收到的剧本缺少一些内容。

我需要使用适当的方法名称“METHOD”和使用适当的方法名称“REGEX” 正则表达式匹配所有以

.htm
.

结尾的文件
Dir.METHOD("*.htm").each do |html_file|
  FileUtils.METHOD html_file, "#{html_file.METHOD(/REGEX/,'.html')}"
end

有谁知道我应该用什么替换“METHOD”和“REGEX”?

ruby-on-rails ruby
4个回答
2
投票
Dir.glob("*.htm") do |html_file|
 FileUtils.mv(html_file, "#{File.basename(html_file, ".htm")}.html")
end

0
投票
Dir.glob("*.htm").each do |html_file|  
  FileUtils.mv html_file, "#{html_file.sub(/.htm/,'.html')}"
end

0
投票

当我运行它时,我的答案总是为零,这就是正确的答案


-1
投票

这是我的做法,尽管它没有使用 FileUtils 方法,并且我在课程中讨论之前跳过并进行了字符串操作。

Dir.glob("*.htm") {|old_filename|             #Save file names w/ .htm to old_
   tmp_filename = old_filename.slice(0..-5)   #Remove (.htm) the file extension
   new_filename = tmp_filename + '.html'      #Append the .html extension
   puts new_filename                          #Display renamed file names
}
© www.soinside.com 2019 - 2024. All rights reserved.