【问题标题】:Rename a large number of files重命名大量文件
【发布时间】:2015-09-28 14:35:12
【问题描述】:

我正在尝试重命名大量 .jpeg 文件:

EH574_54340_TopX0_TopY0_W850_H500
EH574_54340_TopX0_TopY500_W850_H500
EH574_54340_TopX0_TopY1000_W850_H500

EH574_54505_TopX0_TopY0_W850_H500
EH574_54505_TopX0_TopY500_W850_H500
EH574_54505_TopX0_TopY1000_W850_H500

EH574_54610_TopX0_TopY0_W850_H500
EH574_54610_TopX0_TopY500_W850_H500
EH574_54610_TopX0_TopY1000_W850_H500

到 EH574Sub1 到 EH574Sub8779。该文件夹中有 8,779 个文件。

我试过了

file.rename(list.files(pattern="EH574_*.jpeg"), paste0("EH574Sub", 1:8779))

但返回的错误是

file.rename 中的错误(list.files(pattern = "EH574_*.jpeg"), paste0("EH574_", : 'from' 和 'to' 的长度不同

我可以在这里寻求帮助吗?

【问题讨论】:

  • 星号不是正则表达式通配符!试试 '.+'
  • 我在 Win 7 上。所以你的意思是 try pattern = "EH574_.+"???

标签: r rename


【解决方案1】:

试试这个:

file.rename(list.files(pattern=glob2rx("EH574_*.jpeg")), paste0("EH574Sub", 1:8779))

您需要使用 glob2rx 将模式转换为正则表达式。

我已经修复了错误。

【讨论】:

  • 谢谢。我刚刚尝试了代码,但收到了以下错误消息: file.rename(list.files(pattern = glob2rx("EH574_*.jpeg"), paste0("EH574Sub", : argument "to" is missing, with no default)")
猜你喜欢
  • 1970-01-01
  • 2011-01-04
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
  • 2013-12-19
相关资源
最近更新 更多