FileRename批量重命名工具20190330_1827.7z

时间:2022-04-19 12:17:48
【文件属性】:

文件名称:FileRename批量重命名工具20190330_1827.7z

文件大小:341KB

文件格式:ZIP

更新时间:2022-04-19 12:17:48

其它

批量重命名软件(VC6) 2019年03月30日 18:25:36 南棱笑笑生 阅读数:4 编辑 有时候需要批量重命名一整个目录的文件,一个一个的修改肯定花时间和精力了! https://item.jd.com/42982472342.html 基本信息 书名:Visual C++开发实战宝典(配光盘)(软件开发实战宝典) 定价:79.80元 作者:宋坤 等编著 出版社:清华大学出版社 出版日期:2009-12-01 ISBN:9787302209058 字数: 页码: 版次: 装帧:平装 开本:16开 商品重量: 可能宋坤先生默默无名,从里面还是找到了一个有用的程序,比如第8章的: 8.7 实战 8.7.2 对位图文件进行批量编号命名..............348 例8.12 目录名:FileRename 由于VC6早已经遭到淘汰了,但是联系编程还有稍许价值,现阶段只能在虚拟机VMware14中运行WINDOWS XP来安装运行VC6了。 还有一个重要的问题是360杀毒软件会将你编译生成的EXE文件都处理为未知的可疑文件,提醒你隔离或者删除!^_ 在360的老板周鸿祎的眼里草木皆兵:宁可错杀一千,不可放走一个! 为了简单期间,我将360杀毒和360安全卫士都退出了! 发现未知程序将要运行,是否放行? 可能是没有数字签名,微软的比尔盖茨也告诉你的程序不安全:^_ 无法验证发布者。您确定要运行此软件吗? 由于是为重命名BMP扩展名的位图文件准备的程序,因此程序运行的时候除了:E:\刘杨-商业修图教程 目录多了一个BMP目录之外啥也没有。(前缀使用:刘杨-商业修图教程。下同) 首先干掉必须是BMP扩展名! //开始批量重命名文件 void CFileRenameDlg::OnBtStart() { CFileFind flFind; CString szDir; m_FileDir.GetWindowText(szDir); flFind.FindFile(szDir + "\\*.*"); //统计位图数量 int nBmpCount = 0; CFileFind flFindCount; flFindCount.FindFile(szDir + "\\*.*"); while (flFindCount.FindNextFile()) { if (!flFindCount.IsDirectory()) { CString szPath; szPath = flFindCount.GetFilePath(); char szLetter[128] = {0}; //盘符 char szCurDir[128] = {0}; //目录 char szName[128] = {0}; //文件名 char szExt[128] = {0}; //扩展名 _splitpath(szPath.GetBuffer(0), szLetter, szCurDir, szName, szExt); //分解目录 //判断文件扩展名 //if (strcmp(szExt, ".bmp") == 0) { nBmpCount++; } } } flFindCount.Close(); m_Progress.SetRange32(0, nBmpCount); //遍历位图文件 szDir = szDir + "\\bmp"; CreateDirectory(szDir, NULL); //创建目录 int nIndex = 1; while(flFind.FindNextFile()) { if (!flFind.IsDirectory()) { CString szPath; szPath = flFind.GetFilePath(); char szLetter[128] = {0}; //盘符 char szCurDir[128] = {0}; //目录 char szName[128] = {0}; //文件名 char szExt[128] = {0}; //扩展名 _splitpath(szPath.GetBuffer(0), szLetter, szCurDir, szName, szExt); //分解目录 //获取前缀 CString szPrefix; m_Prefix.GetWindowText(szPrefix); //判断文件扩展名 //if (strcmp(szExt, ".bmp") == 0) { CFile file; CString szCreatedName = szDir; szCreatedName += "\\"; szCreatedName += szPrefix; //添加前缀 CString szIndex; szIndex.Format("%d", nIndex); szCreatedName += szIndex; //添加序号 szCreatedName += ".bmp"; m_Progress.SetPos(nIndex); nIndex++; //创建新的文件 file.Open(szCreatedName, CFile::modeCreate|CFile::modeReadWrite); CFile readFile; readFile.Open(szPath, CFile::modeRead); DWORD dwLen = readFile.GetLength(); BYTE *pData = new BYTE[dwLen]; readFile.ReadHuge((void*)pData, dwLen); readFile.Close(); file.WriteHuge((void*)pData, dwLen); file.Close(); delete [] pData; szCreatedName.ReleaseBuffer(); szIndex.ReleaseBuffer(); } } } flFind.Close(); CString szBmpCount; szBmpCount.Format("%d个文件!", nBmpCount); MessageBox("操作完成,处理" + szBmpCount); szBmpCount.ReleaseBuffer(); } 生成的文件名为: 刘杨-商业修图教程1.bmp 刘杨-商业修图教程10.bmp 刘杨-商业修图教程2.bmp 刘杨-商业修图教程3.bmp 刘杨-商业修图教程4.bmp 刘杨-商业修图教程5.bmp 刘杨-商业修图教程6.bmp 刘杨-商业修图教程7.bmp 刘杨-商业修图教程8.bmp 刘杨-商业修图教程9.bmp 还是需要修改扩展名: //开始批量重命名文件 void CFileRenameDlg::OnBtStart() { CFileFind flFind; CString szDir; m_FileDir.GetWindowText(szDir); flFind.FindFile(szDir + "\\*.*"); //统计位图数量 int nBmpCount = 0; CFileFind flFindCount; flFindCount.FindFile(szDir + "\\*.*"); while (flFindCount.FindNextFile()) { if (!flFindCount.IsDirectory()) { CString szPath; szPath = flFindCount.GetFilePath(); char szLetter[128] = {0}; //盘符 char szCurDir[128] = {0}; //目录 char szName[128] = {0}; //文件名 char szExt[128] = {0}; //扩展名 _splitpath(szPath.GetBuffer(0), szLetter, szCurDir, szName, szExt); //分解目录 //判断文件扩展名 //if (strcmp(szExt, ".bmp") == 0) { nBmpCount++; } } } flFindCount.Close(); m_Progress.SetRange32(0, nBmpCount); //遍历位图文件 szDir = szDir + "\\bmp"; CreateDirectory(szDir, NULL); //创建目录 int nIndex = 1; while(flFind.FindNextFile()) { if (!flFind.IsDirectory()) { CString szPath; szPath = flFind.GetFilePath(); char szLetter[128] = {0}; //盘符 char szCurDir[128] = {0}; //目录 char szName[128] = {0}; //文件名 char szExt[128] = {0}; //扩展名 _splitpath(szPath.GetBuffer(0), szLetter, szCurDir, szName, szExt); //分解目录 //获取前缀 CString szPrefix; m_Prefix.GetWindowText(szPrefix); //判断文件扩展名 //if (strcmp(szExt, ".bmp") == 0) { CFile file; CString szCreatedName = szDir; szCreatedName += "\\"; szCreatedName += szPrefix; //添加前缀 CString szIndex; szIndex.Format("%d", nIndex); szCreatedName += szIndex; //添加序号 //szCreatedName += ".bmp"; szCreatedName += szExt; m_Progress.SetPos(nIndex); nIndex++; //创建新的文件 file.Open(szCreatedName, CFile::modeCreate|CFile::modeReadWrite); CFile readFile; readFile.Open(szPath, CFile::modeRead); DWORD dwLen = readFile.GetLength(); BYTE *pData = new BYTE[dwLen]; readFile.ReadHuge((void*)pData, dwLen); readFile.Close(); file.WriteHuge((void*)pData, dwLen); file.Close(); delete [] pData; szCreatedName.ReleaseBuffer(); szIndex.ReleaseBuffer(); } } } flFind.Close(); CString szBmpCount; szBmpCount.Format("%d个文件!", nBmpCount); MessageBox("操作完成,处理" + szBmpCount); szBmpCount.ReleaseBuffer(); } 得到的文件名为: 刘杨-商业修图教程1.avi 刘杨-商业修图教程10.avi 刘杨-商业修图教程2.avi 刘杨-商业修图教程3.avi 刘杨-商业修图教程4.avi 刘杨-商业修图教程5.avi 刘杨-商业修图教程6.avi 刘杨-商业修图教程7.avi 刘杨-商业修图教程8.avi 刘杨-商业修图教程9.avi 现在你就会发现你所命名的文件一位数和两位数的掺杂在一起,不整洁! 假定你所批量命名的文件名不超过100个(最多99个。) 继续修改代码: 刘杨-商业修图教程01.avi 刘杨-商业修图教程02.avi 刘杨-商业修图教程03.avi 刘杨-商业修图教程04.avi 刘杨-商业修图教程05.avi 刘杨-商业修图教程06.avi 刘杨-商业修图教程07.avi 刘杨-商业修图教程08.avi 刘杨-商业修图教程09.avi 刘杨-商业修图教程10.avi 结束语: 本程序还可以继续修改,改名之前直接统计需要重命名的文件的数目,然后自动配置一位数、二位数、三位数等等。 可能是微软的比尔盖茨的原因,最后重命名的文件的计数有点问题。不影响工作!


【文件预览】:
FileRename批量重命名工具
----FileRenameDlg - 副本 (5).cpp(7KB)
----Release()
--------FileRename4.exe(24KB)
--------FileRename2.exe(24KB)
--------FileRename3.exe(24KB)
--------FileRename1.exe(24KB)
----FileRename.h(1KB)
----res()
--------FileRename.rc2(402B)
--------FileRename.ico(1KB)
----FileRename.aps(21KB)
----FileRename.cpp(2KB)
----FileRenameDlg - 副本 (4).cpp(7KB)
----FileRenameDlg - 副本 (3).cpp(7KB)
----FileRenameDlg - 副本.cpp(7KB)
----FileRename.clw(1KB)
----StdAfx.cpp(212B)
----resource.h(872B)
----FileRename.dsw(545B)
----StdAfx.h(1KB)
----FileRenameDlg.cpp(7KB)
----FileRename.opt(636KB)
----FileRename.rc(6KB)
----FileRenameDlg - 副本 (2).cpp(7KB)
----FileRename.dsp(4KB)
----FileRename.ncb(49KB)
----FileRenameDlg.h(1KB)
----ReadMe.txt(4KB)
----FileRename.plg(945B)

网友评论