c++实现批量修改文件名及文件的归档移动

使用C++实现对150人提交的文档进行批量重命名、信息一致性检查及分类归档,通过文件名解析学号和姓名,确保同一人文件学号一致,并自动创建个人文件夹进行归档。

最近接到一个小任务,需要对150人的文档进行分类汇总,每个人有两个文件。最终需要将每个人的两个文件新建一个文件夹进行单独存放。就尝试用C++代码批量处理了一波,记录如下:

一、问题分析:
1、由于每个文件是每个学生提交,因此最终的文档呈现各种不规范的命名方式。
2、有的学生存在学号写错的情况。

二、解决想法及流程:
1、批量修改文件名,统一化命名方式;
2、程序自动检查同一个人的两个文件名中的学号是否一致,抛出信息,手动核查;
3、自动新建个人文件夹,并将个人的两个文件移动到该文件下;
4、反向校验,将归档的个人信息打印,并在EXCEL中与信息汇总表进行差错比较;

三、代码部分

1、批量修改文件名:

#include <iostream>  
#include <io.h>  
#include <string>  
#include <vector>  
using namespace std;

void getFiles(const std::string & path, std::vector<std::string> & files)
{
   
   
	//文件句柄  
	intptr_t hFile = 0;
	//文件信息,_finddata_t需要io.h头文件  
	struct _finddata_t fileinfo;
	std::string p;
	if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)
	{
   
   
		do
		{
   
   
			//如果是目录,迭代之;如果不是,加入列表。
			if ((fileinfo.attrib & _A_SUBDIR))
			{
   
   
				if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
					getFiles(p.assign(path).append("\\").append(fileinfo.name), files);
			}
			else
			{
   
   
				files.push_back(fileinfo.name);
			}
		} while (_findnext(hFile, &fileinfo) == 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值