求一个修改文件名的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)
如果这样可以满足你的要求的话