ruby - 在文件名中的某个关键字后面附加文本
问题描述
在目录C:\Users\Scripts
中,我有名为:
2A_Apple_VC_20180101.txt
2A_Apple_VC_20180201.txt
2A_Apple_VC_20180301.txt
etc.
如何在该目录中以 开头的所有文件名Vendor
之后插入短语,将文件名永久更改为:2A_
2A_
2A_Vendor_Apple_VC_20180101.txt
2A_Vendor_Apple_VC_20180201.txt
2A_Vendor_Apple_VC_20180301.txt
解决方案
您可以使用Dir.glob获取目录中的文件路径列表:
paths = Dir.glob("C:\Users\Scripts/*.txt")
然后使用String#sub和FileUtils.mv或File.rename重命名:
paths.each do |path|
if path =~ /^2A_/
new_path = path.sub /^2A_/, "2A_Vendor_"
File.rename path, new_path
end
end
推荐阅读
- react-native - 无法写入清单文件。错误域 = NSCocoaErrorDomain
- oracle - oracle 中的 Pivot 没有给出预期的结果
- git - 从部署在 Openshift 中的 Redhat Decision Manager(RHDM) 中的 git 导入项目
- namespaces - 使用来自其他本体的 URI,特别是 BBC 体育本体
- javascript - 再次单击时反向使用状态。用作切换方法而不是单个执行
- web - 使用 wget 下载网页时如何保持登录到网站
- html - iOS 设备的 gmail 中无法点击电话号码
- c++ - 是否可以将大小写不同的字符串添加到 CMFCToolBarComboBoxButton?
- javascript - 根据选项值获取 HTML Dropdown 值
- raspberry-pi4 - Quectel EC25EU 4G模块防止RaspAP在没有GSM连接时启动