如何对一个文件夹下的所有文件(包括所有子文件夹)改名?来者有分!

时间:2022-01-28 09:58:53
我试着用递归函数做了,但不成功。主要是文件改名后,还会再改!比如,abc.doc会改成abc.doc.eee.eee.eee.eee等。函数如下。请各位朋友帮忙看看,还有什么好的办法?谢谢!

void __fastcall TForm1::RenameFiles(int flag)
//flag=1时,加上.eee后缀
//flag=2时,去除.eee后缀
{
  TSearchRec sr;
  AnsiString DestName;
  if(FindFirst("*.*",faAnyFile,sr)==0)
  {
    do
    {
      if((sr.Attr&faDirectory)&&(sr.Name!=".")&&(sr.Name!=".."))
     //如是子目录(不包括.和..子目录)
      {
        chdir(sr.Name.c_str());
        RenameFiles(flag); //调用递归函数
        chdir("..");
      }
      else if((sr.Name!=".")&&(sr.Name!=".."))
      {
        if(flag==1)
        {
//        ShowMessage(sr.Name);
          RenameFile(sr.Name,sr.Name+".eee");  //文件改名,加上.eee后缀
        }
        else
        {
          if(AnsiString(sr.Name).SubString(AnsiString(sr.Name).Length()-3,4).UpperCase()==".eee")
          {
            DestName=AnsiString(sr.Name).Delete(AnsiString(sr.Name).Length()-3,4);
          }
          RenameFile(sr.Name,DestName);   //文件改名,去除.eee后缀
        }
      }
    }while(FindNext(sr)==0);
  }
  FindClose(sr);
}

32 个解决方案

#1


如能解决问题,我另开贴子再赠送100分。

#2


将你的程序变成流程图,然后走一遍就可以了发现问题了。
我做了一个,但是只是完成某个文件夹下面的文件的批量改名(当然,视文件数量的多少,后面加上位数做标识)的。

#3


TO: BlueCapricorn(摩羯)
能不能将你的源码贴出来啊?谢谢!

#4


BlueCapricorn(摩羯)

请教,你说的“将你的程序变成流程图”是C++BUILDER 有这样的功能还是有其他软件能办到?

puma66 (飞马) 
RenameFile(sr.Name,sr.Name+".eee");  //文件改名,加上.eee后缀
在这里先检查一下,如果后缀名已经是.eee了,就不要改。

#5


改了一下,楼主试试

//flag=1时,加上.eee后缀
//flag=2时,去除.eee后缀

void __fastcall TForm1::RenameFiles(int flag)
{
  TSearchRec sr;
  AnsiString DestName;

  if(FindFirst("*.*", faAnyFile,sr)==0)
  {
    do
    {
      if (sr.Attr&faDirectory)
     //如是子目录(不包括.和..子目录)
      {
        if ((sr.Name != ".") && (sr.Name != ".."))
        {
          chdir(sr.Name.c_str());
          RenameFiles(flag); //调用递归函数
          chdir("..");
        }
      }
      else
      {
        if (flag==1)
        {
//        ShowMessage(sr.Name);
          if (StrRight(sr.Name, 4).LowerCase == ".eee")
            RenameFile(sr.Name, sr.Name + ".eee");  //文件改名,加上.eee后缀
        }
        else
        {
          if(StrRight(sr.Name, 4).LowerCase()==".eee")
            RenameFile(sr.Name, LeftStr(sr.Name, Length(sr.Name) - 4));   //文件改名,去除.eee后缀
        }
      }
    }while(FindNext(sr)==0);
  }
  FindClose(sr);
}

#6


和查看目录下的文件思路应该一样
用递归是正确的

#7


TO:shadowstar(天作棋盘星作子,谁人敢下?) 
编译时说StrRight没定义,是不是要加什么头文件?

#8


void __fastcall TForm1::RenameFiles(int flag)
{
WIN32_FIND_DATA FindData;
HANDLE FileHandle;
AnsiString DestName="*.*";
FileHandle=FindFirstFile(DestName.c_str(),&FindData);
do{
  if(FileHandle!=INVALID_HANDLE_VALUE){
     if(lstrcmp(FindData.cFileName,".."&&lstrcmp(FindData.cFileName,"."))
        if(FindData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) RenameFiles(flag);
        else{
             AnsiString OldName;
             if(ExtractFileExt(FindData.cFileName)=="exe")
                OldName=ExtractFileName(FindData.cFileName);
             if(Flag==1) RenameFile(FindData.cFileName,OldName+".eee");
             else RenameFile(FindData.cFileName,OldName);
        }
  }        
}while(FindNextFile(FileHandle,&FindData));
FindClose(FileHandle);        
}

我用API函数重新帮你写了一个你试试看,我没有测试了!



#9


其中 if(lstrcmp(FindData.cFileName,".."&&lstrcmp(FindData.cFileName,"."))
改成:
 if(lstrcmp(FindData.cFileName,"..")&&lstrcmp(FindData.cFileName,"."))

#10


这么多人骗分,不知道改名之前加一个DirectoryExists(FileName)或者FileExists(FileName)能不能也骗点分啊,呵呵

#11


楼上,你在说我吗?

说实话,我写了一个遍历文件呵文件夹的一段代码,与楼主所要求的功能差不多
,我改了一下。

望楼上的不要无风起事,惟恐天下不乱。

就算是骗分,你也改改代码再来说ok?!!!!!!!

#12


哇,递归都出来了,这个问题应该到数据结构版块里去啊。。

呵呵,shadowstar 老兄写得很清楚了。

不过,

          if (StrRight(sr.Name, 4).LowerCase == ".eee")
            RenameFile(sr.Name, sr.Name + ".eee");  //文件改名,加上.eee后缀

是不是要写成,
          if (StrRight(sr.Name, 4).LowerCase != ".eee")
            RenameFile(sr.Name, sr.Name + ".eee");  //文件改名,加上.eee后缀

#13


感谢各位朋友的帮助!大家的帮助都是真诚的,决无骗分之嫌!即使什么也没干,只是进来帮助顶一顶贴子,也是帮我,我也会给分的。原来以为对一个文件夹下的所有文件进行批量改名比较简单,但实际就用起来,问题还蛮多的。以下是我修改后的函数,当flag=1时,改名都会成功(即都可以加上.eee后缀),但flag=2时,改名都不成功,执行以下这句时,都是显示"false!",修改不成功!不知道是什么原因?我看这段代码没什么错!

if(sr.Name.SubString(sr.Name.Length()-3,4).LowerCase()==".eee")
          {
            if(!RenameFile(sr.Name,sr.Name.Delete(sr.Name.Length()-3,4)))
              ShowMessage("false!");
          }


void __fastcall TForm1::RenameFiles(int flag)
//将加密或隐藏后的文件夹内的所有文件改名,改名后的扩展名均为:.eee
//flag=1时,加上.eee后缀
//flag=2时,去除.eee后缀
{
  TSearchRec sr;
  AnsiString DestName;
  if(FindFirst("*.*",faAnyFile,sr)==0)
  {
    do
    {
      if((sr.Attr&faDirectory)&&(sr.Name!=".")&&(sr.Name!=".."))
     //如是子目录(不包括.和..子目录)
      {
        chdir(sr.Name.c_str());
        RenameFiles(flag); //调用递归函数
        chdir("..");
      }
      else if((sr.Name!=".")&&(sr.Name!=".."))
      {
        if(flag==1)
        {
          if(sr.Name.SubString(sr.Name.Length()-3,4).LowerCase()!=".eee")
            RenameFile(sr.Name, sr.Name + ".eee");  //文件改名,加上.eee后缀

        }
        else
        {
          if(sr.Name.SubString(sr.Name.Length()-3,4).LowerCase()==".eee")  //文件改名,去除.eee后缀
          {
            if(!RenameFile(sr.Name,sr.Name.Delete(sr.Name.Length()-3,4)))
              ShowMessage("false!");
          }
            
        }
      }
    }while(FindNext(sr)==0);
  }
  FindClose(sr);
}

#14


path=目录名阿。path= path+filename。你递归改这个就可以了,怎么会这么麻烦呢。
一次取得一个目录下面的文件,判断是目录还是文件,是目录往下递归。直到文件的时候,丢在一个列表中修改名字。

没有上面说得这么麻烦吧。

#15


TO: truelove7283159(大头娃娃) 
开头我也这么想,但实际做起来,问题其实挺多的!

#16


奇怪,这么简单的改名语句,怎么执行时都出错呢?!

     if(sr.Name.SubString(sr.Name.Length()-3,4).LowerCase()==".eee")
          {
            if(!RenameFile(sr.Name,sr.Name.Delete(sr.Name.Length()-3,4)))
              ShowMessage("false!");
          }
我在DOS窗口下,用"ren"命令都可以改成功啊!

#17


真是天大的怪事!以下代码,改名会成功:
 chdir("d:\\aaaa2");
  AnsiString SName="12abc.jpg.eee";
  AnsiString DName="12abc.jpg";
  if(RenameFile(SName,DName))
    ShowMessage("改名完成!");
  else
    ShowMessage("改名失败!");

而我这样改一下,就不成功了!

 chdir("d:\\aaaa2");
  AnsiString SName="12abc.jpg.eee";
  AnsiString DName=SName.Delete(SName.Length()-3,4);
  ShowMessage(DName);  //这里DName显示的值就是="12abc.jpg"
  if(RenameFile(SName,DName))
    ShowMessage("改名完成!");
  else
    ShowMessage("改名失败!");

这究竟是为什么啊?!

#18


SName,DName后加'\0'
可以改为:
    chdir("c:\\test");
    String SName = "12abc.jpg.eee\0";
    String DName = SName.Delete(SName.Length() - 3, 5) + '\0';
    if(RenameFile(SName,DName))
         ShowMessage("改名完成!");
    else
         ShowMessage("改名失败!");

#19


EagleFew(死牛之祭):

俺只是来骗分的,别一般计较,呵呵

#20


可能AnsiString DName=SName.Delete(SName.Length()-3,4);使DName变为="12abc.jpg\0"了,导致SName和DNane格式不同,所以也可以改为:
    chdir("c:\\test");
    String SName = "12abc.jpg.eee";
    String DName = SName.Delete(SName.Length() - 3, 5);
    if(RenameFile(SName,DName))
         ShowMessage("改名完成!");
    else
         ShowMessage("改名失败!");

#21


“String DName = SName.Delete(SName.Length() - 3, 5);”
OK,真改成功了!谢谢!

#22


void enum_path(char *cpath){

    WIN32_FIND_DATA wfd;
    HANDLE hfd;
    char cdir[MAX_PATH];
    char subdir[MAX_PATH];

    int r;

    GetCurrentDirectory(MAX_PATH,cdir);
    SetCurrentDirectory(cpath);

    hfd = FindFirstFile("*.*",&wfd);

    if(hfd!=INVALID_HANDLE_VALUE) {
        do{
            if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
                if(wfd.cFileName[0] != '.') {
                    //合成完整路径名
                    sprintf(subdir,"%s\\%s",cpath,wfd.cFileName);   
                    //递归枚举子目录
                    enum_path(subdir);                
                }
            }else{

                printf("%s\\%s\n",cpath,wfd.cFileName);
                // 病毒可根据后缀名判断是否要感染相应的文件        
            }
            
        }while(r=FindNextFile(hfd,&wfd),r!=0);    
    }
    SetCurrentDirectory(cdir);
}

#23


真的很郁闷!改成这样又是错误!

     if(sr.Name.SubString(sr.Name.Length()-3,5).LowerCase()==".eee")
          {
            DestName=sr.Name.Delete(sr.Name.Length()-3,5);
            if(!RenameFile(sr.Name,DestName))
              ShowMessage("false!");

#24


改成这样才可以,不过觉得代码有点罗嗦。

     char dname[MAXDIR]
     if(sr.Name.SubString(sr.Name.Length()-3,5).LowerCase()==".eee")
          {
            fnsplit(sr.Name.c_str(),0,0,dname,0);
            DestName=AnsiString(dname);
            if(!RenameFile(sr.Name,DestName))
              ShowMessage("false!");
          }

#25


俺也来骗骗分的,别一般计较,呵呵

对这个问题很感兴趣的,我想应该不难吧,不过,今天我真的没空试。
回头我也来试试。

先Mark一下,权当学习。不要给偶分,呵呵。

#26


可以考虑用perl吗?做这个改动用perl会很简单的,我晚上试试。可能只要10行就搞定了。

#27


看的我超郁闷~~~~

取文件扩展名,还用Delete半天吗?为何不用ExtractFileExt呢,简单又好理解。

#28


TO: ccrun(老妖)(www.ccrun.com) 
不是取扩展名啊,而是要去除文件扩展名(已经知道,是.eee)啊。

#29


哈哈,不好意思,好长时间没有上垒,打本垒还需要CCRUN的风采。
我这里面所说的画程序流程图,当然是自己画了。C++Builder本身不具备这样的功能,毕竟人家是开发工具,不是Design Builder吗……呵呵。
另外,我可以贴出我的源码,希望各位不要见笑……

#30


另外,想给站长CCRUN提一个建议,这个网站确实好,但是能不能够增加诸如上传附件的功能,这样,大家就能够将所题的问题通过图片着另一方式表达,避免了语言描述的二义性;另外,也可以上传诸于应用程序(当然是回答问题的人未解决问题上传的答案例子之类的东东了……)比如这个问题,我可以先将我的程序(文件批量改名)发上来,大家下载后如果觉得好,我可以将我的源码上传……。
请CCRUN考虑!

#31


答复:BeRoy(失眠) 的问题。你所说的的确有软件能够办到。但是主要是用来完成软件在详细设计阶段的白盒测试用的。属于测试类工具。去年我在北京参加由CSTC(中国软件评测中心)举办的软件测试工程师的培训上,就接触过这样的软件。

#32


看热闹啦!

#1


如能解决问题,我另开贴子再赠送100分。

#2


将你的程序变成流程图,然后走一遍就可以了发现问题了。
我做了一个,但是只是完成某个文件夹下面的文件的批量改名(当然,视文件数量的多少,后面加上位数做标识)的。

#3


TO: BlueCapricorn(摩羯)
能不能将你的源码贴出来啊?谢谢!

#4


BlueCapricorn(摩羯)

请教,你说的“将你的程序变成流程图”是C++BUILDER 有这样的功能还是有其他软件能办到?

puma66 (飞马) 
RenameFile(sr.Name,sr.Name+".eee");  //文件改名,加上.eee后缀
在这里先检查一下,如果后缀名已经是.eee了,就不要改。

#5


改了一下,楼主试试

//flag=1时,加上.eee后缀
//flag=2时,去除.eee后缀

void __fastcall TForm1::RenameFiles(int flag)
{
  TSearchRec sr;
  AnsiString DestName;

  if(FindFirst("*.*", faAnyFile,sr)==0)
  {
    do
    {
      if (sr.Attr&faDirectory)
     //如是子目录(不包括.和..子目录)
      {
        if ((sr.Name != ".") && (sr.Name != ".."))
        {
          chdir(sr.Name.c_str());
          RenameFiles(flag); //调用递归函数
          chdir("..");
        }
      }
      else
      {
        if (flag==1)
        {
//        ShowMessage(sr.Name);
          if (StrRight(sr.Name, 4).LowerCase == ".eee")
            RenameFile(sr.Name, sr.Name + ".eee");  //文件改名,加上.eee后缀
        }
        else
        {
          if(StrRight(sr.Name, 4).LowerCase()==".eee")
            RenameFile(sr.Name, LeftStr(sr.Name, Length(sr.Name) - 4));   //文件改名,去除.eee后缀
        }
      }
    }while(FindNext(sr)==0);
  }
  FindClose(sr);
}

#6


和查看目录下的文件思路应该一样
用递归是正确的

#7


TO:shadowstar(天作棋盘星作子,谁人敢下?) 
编译时说StrRight没定义,是不是要加什么头文件?

#8


void __fastcall TForm1::RenameFiles(int flag)
{
WIN32_FIND_DATA FindData;
HANDLE FileHandle;
AnsiString DestName="*.*";
FileHandle=FindFirstFile(DestName.c_str(),&FindData);
do{
  if(FileHandle!=INVALID_HANDLE_VALUE){
     if(lstrcmp(FindData.cFileName,".."&&lstrcmp(FindData.cFileName,"."))
        if(FindData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) RenameFiles(flag);
        else{
             AnsiString OldName;
             if(ExtractFileExt(FindData.cFileName)=="exe")
                OldName=ExtractFileName(FindData.cFileName);
             if(Flag==1) RenameFile(FindData.cFileName,OldName+".eee");
             else RenameFile(FindData.cFileName,OldName);
        }
  }        
}while(FindNextFile(FileHandle,&FindData));
FindClose(FileHandle);        
}

我用API函数重新帮你写了一个你试试看,我没有测试了!



#9


其中 if(lstrcmp(FindData.cFileName,".."&&lstrcmp(FindData.cFileName,"."))
改成:
 if(lstrcmp(FindData.cFileName,"..")&&lstrcmp(FindData.cFileName,"."))

#10


这么多人骗分,不知道改名之前加一个DirectoryExists(FileName)或者FileExists(FileName)能不能也骗点分啊,呵呵

#11


楼上,你在说我吗?

说实话,我写了一个遍历文件呵文件夹的一段代码,与楼主所要求的功能差不多
,我改了一下。

望楼上的不要无风起事,惟恐天下不乱。

就算是骗分,你也改改代码再来说ok?!!!!!!!

#12


哇,递归都出来了,这个问题应该到数据结构版块里去啊。。

呵呵,shadowstar 老兄写得很清楚了。

不过,

          if (StrRight(sr.Name, 4).LowerCase == ".eee")
            RenameFile(sr.Name, sr.Name + ".eee");  //文件改名,加上.eee后缀

是不是要写成,
          if (StrRight(sr.Name, 4).LowerCase != ".eee")
            RenameFile(sr.Name, sr.Name + ".eee");  //文件改名,加上.eee后缀

#13


感谢各位朋友的帮助!大家的帮助都是真诚的,决无骗分之嫌!即使什么也没干,只是进来帮助顶一顶贴子,也是帮我,我也会给分的。原来以为对一个文件夹下的所有文件进行批量改名比较简单,但实际就用起来,问题还蛮多的。以下是我修改后的函数,当flag=1时,改名都会成功(即都可以加上.eee后缀),但flag=2时,改名都不成功,执行以下这句时,都是显示"false!",修改不成功!不知道是什么原因?我看这段代码没什么错!

if(sr.Name.SubString(sr.Name.Length()-3,4).LowerCase()==".eee")
          {
            if(!RenameFile(sr.Name,sr.Name.Delete(sr.Name.Length()-3,4)))
              ShowMessage("false!");
          }


void __fastcall TForm1::RenameFiles(int flag)
//将加密或隐藏后的文件夹内的所有文件改名,改名后的扩展名均为:.eee
//flag=1时,加上.eee后缀
//flag=2时,去除.eee后缀
{
  TSearchRec sr;
  AnsiString DestName;
  if(FindFirst("*.*",faAnyFile,sr)==0)
  {
    do
    {
      if((sr.Attr&faDirectory)&&(sr.Name!=".")&&(sr.Name!=".."))
     //如是子目录(不包括.和..子目录)
      {
        chdir(sr.Name.c_str());
        RenameFiles(flag); //调用递归函数
        chdir("..");
      }
      else if((sr.Name!=".")&&(sr.Name!=".."))
      {
        if(flag==1)
        {
          if(sr.Name.SubString(sr.Name.Length()-3,4).LowerCase()!=".eee")
            RenameFile(sr.Name, sr.Name + ".eee");  //文件改名,加上.eee后缀

        }
        else
        {
          if(sr.Name.SubString(sr.Name.Length()-3,4).LowerCase()==".eee")  //文件改名,去除.eee后缀
          {
            if(!RenameFile(sr.Name,sr.Name.Delete(sr.Name.Length()-3,4)))
              ShowMessage("false!");
          }
            
        }
      }
    }while(FindNext(sr)==0);
  }
  FindClose(sr);
}

#14


path=目录名阿。path= path+filename。你递归改这个就可以了,怎么会这么麻烦呢。
一次取得一个目录下面的文件,判断是目录还是文件,是目录往下递归。直到文件的时候,丢在一个列表中修改名字。

没有上面说得这么麻烦吧。

#15


TO: truelove7283159(大头娃娃) 
开头我也这么想,但实际做起来,问题其实挺多的!

#16


奇怪,这么简单的改名语句,怎么执行时都出错呢?!

     if(sr.Name.SubString(sr.Name.Length()-3,4).LowerCase()==".eee")
          {
            if(!RenameFile(sr.Name,sr.Name.Delete(sr.Name.Length()-3,4)))
              ShowMessage("false!");
          }
我在DOS窗口下,用"ren"命令都可以改成功啊!

#17


真是天大的怪事!以下代码,改名会成功:
 chdir("d:\\aaaa2");
  AnsiString SName="12abc.jpg.eee";
  AnsiString DName="12abc.jpg";
  if(RenameFile(SName,DName))
    ShowMessage("改名完成!");
  else
    ShowMessage("改名失败!");

而我这样改一下,就不成功了!

 chdir("d:\\aaaa2");
  AnsiString SName="12abc.jpg.eee";
  AnsiString DName=SName.Delete(SName.Length()-3,4);
  ShowMessage(DName);  //这里DName显示的值就是="12abc.jpg"
  if(RenameFile(SName,DName))
    ShowMessage("改名完成!");
  else
    ShowMessage("改名失败!");

这究竟是为什么啊?!

#18


SName,DName后加'\0'
可以改为:
    chdir("c:\\test");
    String SName = "12abc.jpg.eee\0";
    String DName = SName.Delete(SName.Length() - 3, 5) + '\0';
    if(RenameFile(SName,DName))
         ShowMessage("改名完成!");
    else
         ShowMessage("改名失败!");

#19


EagleFew(死牛之祭):

俺只是来骗分的,别一般计较,呵呵

#20


可能AnsiString DName=SName.Delete(SName.Length()-3,4);使DName变为="12abc.jpg\0"了,导致SName和DNane格式不同,所以也可以改为:
    chdir("c:\\test");
    String SName = "12abc.jpg.eee";
    String DName = SName.Delete(SName.Length() - 3, 5);
    if(RenameFile(SName,DName))
         ShowMessage("改名完成!");
    else
         ShowMessage("改名失败!");

#21


“String DName = SName.Delete(SName.Length() - 3, 5);”
OK,真改成功了!谢谢!

#22


void enum_path(char *cpath){

    WIN32_FIND_DATA wfd;
    HANDLE hfd;
    char cdir[MAX_PATH];
    char subdir[MAX_PATH];

    int r;

    GetCurrentDirectory(MAX_PATH,cdir);
    SetCurrentDirectory(cpath);

    hfd = FindFirstFile("*.*",&wfd);

    if(hfd!=INVALID_HANDLE_VALUE) {
        do{
            if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
                if(wfd.cFileName[0] != '.') {
                    //合成完整路径名
                    sprintf(subdir,"%s\\%s",cpath,wfd.cFileName);   
                    //递归枚举子目录
                    enum_path(subdir);                
                }
            }else{

                printf("%s\\%s\n",cpath,wfd.cFileName);
                // 病毒可根据后缀名判断是否要感染相应的文件        
            }
            
        }while(r=FindNextFile(hfd,&wfd),r!=0);    
    }
    SetCurrentDirectory(cdir);
}

#23


真的很郁闷!改成这样又是错误!

     if(sr.Name.SubString(sr.Name.Length()-3,5).LowerCase()==".eee")
          {
            DestName=sr.Name.Delete(sr.Name.Length()-3,5);
            if(!RenameFile(sr.Name,DestName))
              ShowMessage("false!");

#24


改成这样才可以,不过觉得代码有点罗嗦。

     char dname[MAXDIR]
     if(sr.Name.SubString(sr.Name.Length()-3,5).LowerCase()==".eee")
          {
            fnsplit(sr.Name.c_str(),0,0,dname,0);
            DestName=AnsiString(dname);
            if(!RenameFile(sr.Name,DestName))
              ShowMessage("false!");
          }

#25


俺也来骗骗分的,别一般计较,呵呵

对这个问题很感兴趣的,我想应该不难吧,不过,今天我真的没空试。
回头我也来试试。

先Mark一下,权当学习。不要给偶分,呵呵。

#26


可以考虑用perl吗?做这个改动用perl会很简单的,我晚上试试。可能只要10行就搞定了。

#27


看的我超郁闷~~~~

取文件扩展名,还用Delete半天吗?为何不用ExtractFileExt呢,简单又好理解。

#28


TO: ccrun(老妖)(www.ccrun.com) 
不是取扩展名啊,而是要去除文件扩展名(已经知道,是.eee)啊。

#29


哈哈,不好意思,好长时间没有上垒,打本垒还需要CCRUN的风采。
我这里面所说的画程序流程图,当然是自己画了。C++Builder本身不具备这样的功能,毕竟人家是开发工具,不是Design Builder吗……呵呵。
另外,我可以贴出我的源码,希望各位不要见笑……

#30


另外,想给站长CCRUN提一个建议,这个网站确实好,但是能不能够增加诸如上传附件的功能,这样,大家就能够将所题的问题通过图片着另一方式表达,避免了语言描述的二义性;另外,也可以上传诸于应用程序(当然是回答问题的人未解决问题上传的答案例子之类的东东了……)比如这个问题,我可以先将我的程序(文件批量改名)发上来,大家下载后如果觉得好,我可以将我的源码上传……。
请CCRUN考虑!

#31


答复:BeRoy(失眠) 的问题。你所说的的确有软件能够办到。但是主要是用来完成软件在详细设计阶段的白盒测试用的。属于测试类工具。去年我在北京参加由CSTC(中国软件评测中心)举办的软件测试工程师的培训上,就接触过这样的软件。

#32


看热闹啦!