对于想要花一些时间的人来说,你有一个小谜语:
由于缺少前导零,我有大约200个文件被严重排序和重命名。我必须撤消这种排序,并再次分配原始值,以便我有这样的订单:
current file name original
TimePoint1 -> TimePoint1
TimePoint2 -> TimePoint10
TimePoint3 -> TimePoint100
TimePoint4 -> TimePoint101
TimePoint5 -> TimePoint102
...
TimePoint250 -> TimePoint250
我会回答一下,但我不想错过你提供的任何优雅解决方案。
谢谢,玩得开心!
答案 0 :(得分: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