我有文件如下:
d:\a\a.jad
d:\a\b.jad
d:\a\c.jad
d:\a\d.jad
d:\b\a.jad
d:\b\b.jad
d:\b\c.jad
d:\b\d.jad
要将他们改变成:
d:\a\a.java
d:\a\b.java
d:\a\c.java
d:\a\d.java
d:\b\a.java
d:\b\b.java
d:\b\c.java
d:\b\d.java

解决方案 »

  1.   

    http://tech.sina.com.cn/c/2001-08-30/5507.html
      

  2.   

    //查找文件
    procedure FindFiles(vDir, vType: String; var vList: TStrings);
    var
      sr: TSearchRec;
    begin
      if FindFirst(vDir + '*.*', faAnyFile, sr) = 0 then
        repeat
          if (sr.Name <> '.') and (sr.Name <> '..') then
            if (sr.Attr and faDirectory) <> 0 then
              FindFiles(vDir + sr.Name + '\', vType, vList)
            else
              if (vType = '') or (LowerCase(ExtractFileExt(sr.Name)) = LowerCase('.' + vType)) then
                vList.Add(vDir + sr.Name);
        until FindNext(sr) <> 0;
        FindClose(sr);
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      vStrs: TStrings;
      i: Integer;
    begin
      vStrs := TStringList.Create;
      FindFiles('d:\', '*.jad', vStrs);
      //修改文件名
      for i := 0 to vStrs.Count - 1 do
        RenameFile(vStrs[i], Copy(vStrs[i], 1, Length(vStrs[i]) - 1) + 'va');
    end;
    ----------
    刚写的,楼主试试
      

  3.   

    错了个地方
    FindFiles('d:\', 'jad', vStrs);-----------------------------------
    测试通过了
      

  4.   

    dos 命令
    ren d:\a\*.jad *.java
      

  5.   

    改个通用的过程出来
    -----------------------------------
    //查找文件
    procedure FindFiles(vDir, vType: String; var vList: TStrings);
    var
      sr: TSearchRec;
    begin
      if FindFirst(vDir + '*.*', faAnyFile, sr) = 0 then
        repeat
          if (sr.Name <> '.') and (sr.Name <> '..') then
            if (sr.Attr and faDirectory) <> 0 then
              FindFiles(vDir + sr.Name + '\', vType, vList)
            else
              if (vType = '') or (LowerCase(ExtractFileExt(sr.Name)) = LowerCase('.' + vType)) then
                vList.Add(vDir + sr.Name);
        until FindNext(sr) <> 0;
        FindClose(sr);
    end;//批量修改后缀名
    //例:ChangeFilesExt('d:\', 'jad', 'java');
    procedure ChangeFilesExt(vDir, vOldType, vNewType: String);
    var
      vStrs: TStrings;
      i: Integer;
    begin
      vStrs := TStringList.Create;
      FindFiles(vDir, vOldType, vStrs);
      //修改文件名
      for i := 0 to vStrs.Count - 1 do
        RenameFile(vStrs[i], Copy(vStrs[i], 1, Length(vStrs[i]) - Length(vOldType)) + vNewType);
    end;
      

  6.   

    一个listBox用来显示要更改类型的(已经打开)文件(*.jad);这样就目标比较明确,
    一个edit用来输入要更改的目标文件类型||(*.java),这样做是知道要做的目的是什么;
    最后更改并且保存
      

  7.   

    ren *.jad *.java
    Delphi中能調用dos命令嗎?
      

  8.   

    用 ChangeFileExt 和 RenameFile 配合使用就变得简单多了。