0

在这里,您有一个小谜语供任何想要花一些时间在上面的人使用:

由于缺少前导零,我有大约 200 个文件被错误地排序和重命名。我必须撤消这种排序,并再次分配原始值,这样我就有了这样的顺序:

current file name                original

TimePoint1            ->         TimePoint1
TimePoint2            ->         TimePoint10
TimePoint3            ->         TimePoint100
TimePoint4            ->         TimePoint101
TimePoint5            ->         TimePoint102
                     ...
TimePoint250          ->         TimePoint250

我会努力回答,但我不想错过您可能提供的任何优雅的解决方案。

谢谢,玩得开心!

4

1 回答 1

2

您在这里所拥有的只是字母顺序。因此,取消此排序的最简单方法是再次使用此顺序。我不确定您要使用哪种语言,所以这里是 ruby​​ 中的一个示例:

a = []
(1..250).each{|t| a << t.to_s} # note that I am adding the *string* representation
a.sort!
(0...250).each do |i|
  File.rename("TimePoint#{a[i]}", "TimePoint#{i + 1}")
end
于 2015-11-04T10:11:41.870 回答