如何把t01.jpg、t02.jpg...txx.jpg 改名(有时候不一定是联系,例如缺少t03.jpg等),只取最后的十个文件,例如如果有t17.jpg,就把它改名为10.jpg,t16.jpg就改名为09.jpg;

解决方案 »

  1.   

    找出所有的jpg文件,然后用CopyFile拷成别的有序名。
      

  2.   

    uses中加入shellAPI单元procedure RenameFile;
    var
      searchRec:TsearchRec;
      tmpS:string;
      i:integer;
    begin
      i:=0;
      FindFirst('c:\*.jpg',faAnyFile,searchRec);
      repeat
      begin 
        i:=i+1;
        tmpS='ren '+searchRec.Name+' '+intToStr(i)+'.jpg';
        ShellExecute(tmpS);    
      end;
      until(findnext(searchRec)<>0);
    end;
    还要注意ren的时候文件重名的处理,因为没有time了,只能留给你自己调试了。
      

  3.   

    Rename 可以搞定啊? 
    还有你的描述我是有点看不懂...不知道你想达到什么效果
      

  4.   

    procedure RenameFile;
    const
      path='c:\';
    var
      searchRec:TsearchRec;
      tmpS:string;
      i:integer;
      name:TstringList;
    begin
      i:=0;
      name:=TstringList.create;
    try
      FindFirst('c:\*.jpg',faAnyFile,searchRec);
      repeat
      begin 
        name.add('c:\'+searchrec.name);   
      end;
      until(findnext(searchRec)<>0);
      for i:=name.count-1 downto name.count-11 do
        对name中最后十条改名,函数我记不清了.
    finally
      name.free;
    end;
    end;