首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

修改文件名的bat批处理文件

2012-03-07 
求一个修改文件名的bat批处理文件我想把一个文件夹中的所有文件,都改成按顺序编写的文件名,请教各位如何实

求一个修改文件名的bat批处理文件
我想把一个文件夹中的所有文件,都改成按顺序编写的文件名,请教各位如何实现。
例如:把文件夹a中的werwer.txt,   sdfwefew.txt,   sdfrevji.txt改写成a1.txt,     a2.txt,     a3.txt。
谢谢各位

[解决办法]
#include <windows.h>
#include <string.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;
char DirSpec[MAX_PATH]; // directory specification
DWORD dwError;

printf ( "Target directory is %s.\n ", argv[1]);
strncpy (DirSpec, argv[1], strlen(argv[1])+1);
strncat (DirSpec, "\\* ", 3);

hFind = FindFirstFile(DirSpec, &FindFileData);

if (hFind == INVALID_HANDLE_VALUE)
{
printf ( "Invalid file handle. Error is %u\n ", GetLastError());
return (-1);
}
else
{
printf ( "First file name is %s\n ", FindFileData.cFileName);
while (FindNextFile(hFind, &FindFileData) != 0)
{
printf ( "Next file name is %s\n ", FindFileData.cFileName);
}

dwError = GetLastError();
FindClose(hFind);
if (dwError != ERROR_NO_MORE_FILES)
{
printf ( "FindNextFile error. Error is %u\n ", dwError);
return (-1);
}
}
return (0);
}
-----------
上面的代码实现列出一个文件夹下的所有文件,得出文件后进行排序,再用rename函数来实现对文件名的修改
[解决办法]
全选要重命名的文件,按F2,输入xxx,可以得到文件名xxx、xxx(1)、xxx(2)、……、xxx(n)
如果这样可以满足你的要求的话

热点排行