我在用Delphi对目录下所有文件进行重命名的时候,出现这样的一个错误,描述如下:
理论设想是如下的格式
文件名                  重命名后的文件名
1.jpg                    00000104.jpg
2.jpg                    00000105.jpg
3.jpg                    00000106.jpg
.....                       ......
10.jpg                   00000113.jpg
11.jpg                   00000114.jpg但实际操作的过程中,文件命名格式为:1.jpg                     00000104.jpg
10.jpg                    00000105.jpg
11.jpg                    00000106.jpg
.....                       ......
19.jpg                    00000113.jpg
2.jpg                     00000114.jpg命名序号不对,我只是举个例子。也就是说他不是按1 2 3 4 5 往后排,而是按照字符排序了,即1 10 11……19 2 20 21……
有遇到过这个问题的吗,或者大家提议一下,说个思路,怎么解决这个问题。有建议就有分。

解决方案 »

  1.   

    你可以把1.jpg的名字'1'取出来转换为数字型(比如integer型)进行排序 
      

  2.   

    是的,我现在做的时候是通过对同一目录下所有的文件进行遍历来实现重命名的,其实完整的文件名例如:341103100001234 B 1.jpg ,同时同一个目录下可能还存在ABCD四类文件。重命名后是按照已有数据库中的最大编号进行累加,比如数据库中最大文件是341103100001234 B 00000103.jpg ,那么对于341103100001234 B 1.jpg 文件就要命名成341103100001234 B 00000104.jpg 。
      

  3.   

    将所有文件名提取,加入到TStringList里,然后自定义排序TStringList