2月16日,一个改文件名的小程序

来源:互联网 发布:linux dd count 编辑:程序博客网 时间:2024/04/30 17:06

/*改名字,把程序在当前目录下运行,将把当前目录下的所有文件改名为*.sys,按数字顺序,,并
 *生成文件renAme.cmd运行后,恢复原来的名字,数字从0开始,由于目录 . .. 不能被改,所以文
 *从2.sys开始  名字很长很多中文的时候有时会出错 :<
 */
#include <windows.h>
#include <stdio.h>

int main(void)
{
 WIN32_FIND_DATA finddAtA;
 HANDLE findhAndle;
 FILE *fp;
 int i;
 char buffer[1024];
 i=0;
 fp = fopen("renAme.cmd","w");
 GetCurrentDirectory(1024,buffer);
 strcat(buffer,"//*");
 findhAndle=FindFirstFile(buffer,&finddAtA);
 if (findhAndle != INVALID_HANDLE_VALUE){
  printf("%s/n",finddAtA.cFileName);
  sprintf(buffer,"renAme %d.sys /"%s/"/n",i,finddAtA.cFileName );
  fputs(buffer,fp);
  sprintf(buffer,"%d.sys",i);
  rename(finddAtA.cFileName ,buffer);
  i++;
  while (FindNextFile(findhAndle,&finddAtA) == TRUE){
   printf("%s/n",finddAtA.cFileName );
   sprintf(buffer,"renAme %d.sys /"%s/"/n",i,finddAtA.cFileName );
   fputs(buffer,fp);
   sprintf(buffer,"%d.sys",i);
   rename(finddAtA.cFileName ,buffer);
   i++;
  }
  FindClose(findhAndle);
 }
 return 0;
}
//--------------------------------------------------------------------