前段时间因需要修改大量的文件扩展名,因而就出现了一个想法,用程序自己帮我们修改,所以就出现了本文,本工具部分代码摘操自网络,经过我的修改,实现了批量修改文件扩展名的功能。
本工具支持使用控制台传参使用,第0个参数是程序名,这个相信大家都知道,第1个参数是要修改文件的目录,第2个参数为要修改的文件扩展名(格式如:.txt)
下面上代码:
#include <iostream>
#include <string>
#include <io.h>
#include <stdlib.h>
#include <vector>
using namespace std;
void getFiles(string path, vector<string>& files)
{
//文件句柄
long hFile = 0;
//文件信息,声明一个存储文件信息的结构体
struct _finddata_t fileinfo;
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);
&nb