首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要根据用户的指示重命名多个文件的部分名称

我需要根据用户的指示重命名多个文件的部分名称
EN

Stack Overflow用户
提问于 2016-02-19 16:19:27
回答 1查看 72关注 0票数 1

当前档案名称:

Empty_test-one.txtEmpty_test-two.txtEmpty_test-three.txt

我只想重命名单词。到目前为止我的代码是:

代码语言:javascript
复制
puts "Indicate new name of files":
new_name = gets.chomp

# Look for the specific files
Dir.glob("*.txt").each do |renaming| 
  # Renaming of files starts, but not on every file
  File.rename(renaming, new_name + ".txt") 

我目前无法重命名每个单独的文件,并保留文件的第二部分(测试-1,测试-2,测试-3)。

你能帮帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-19 16:39:09

代码语言:javascript
复制
old_part = "Empty"

puts "Indicate new name of files":
new_name = gets.chomp

# Look for the specific files
Dir.glob("*#{old_part}*.txt").each do |renaming|
  full_new_name = renaming.sub(/\A(.*)#{old_part}(.*)\z/, "\\1#{new_name}\\2")
  File.rename(renaming, full_new_name) 
end

您所缺少的是正确构建新的文件名,将old_name更改为new_name

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35509914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档