您的位置:首页 > 其它

批量修改文件名

2016-05-05 15:17 267 查看
/* 批量修改文件后缀 */
#include <stdio.h>
#include <dos.h>
#include<string.h>
#include<Windows.h>
int main()
{
/* 统记有多少文件被修改 */
int sum = 0;
/* 需要的文件名后缀 */
char *hz = ".mp3";
/* /s: 显示指定目录和所有子目录中的文件。不加 /s 默认只显示当前文件夹下的,不包含子文件夹 */
/* /b: 显示指定目录和所有子目录中的文件。 */
system("dir /s /b > filelist.txt");/*这是全部文件,包括子目录*/
//system("dir *.txt /b > filelist2.txt"); /*当前目录下的所有txt文件,不包括子目录*/
//打开文件
//system("filelist.txt");
FILE * fp = fopen("C:\\Users\\dell\\Desktop\\格林童话\\01\\filelist.txt","r");/*读取并进行处理*/

if(fp == NULL)
{
printf("文件打开失败!");
return 0;
}
else
{
// 按行读取,最后加上后缀.
while(!feof(fp))
{
char oldname[1024] = {0};
char newname[1024] = {0};
fgets(oldname,1024,fp);
int length = strlen(oldname);
/* 把读到字符串最后的回车 换成 \0 表示字符串的结束标示 */
oldname[length-1] = '\0';
/* strlen(oldname)>1 如果这一行没有读到字符串则不进行后缀修改。其它几个判断是防止修改程序自身的文件 */
if(strlen(oldname)>1 && !strstr(oldname,".exe") && !strstr(oldname,".mp3") && !strstr(oldname,".txt") && !strstr(oldname,".cpp"))

{   /* 在字符串后面增加需要修改的后缀,这儿把文件修改成 .mp3格式 */
sprintf(newname,"%s%s",oldname,hz);
rename(oldname,newname);
puts(newname);
sum++;
}
}
}
printf("共有:%d 文件被修改。\n",sum);
/*处理*/
fclose(fp);
system("pause");
return 0;
}


以上代码是修改文件名后缀的小代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: