对指定文件夹及其子文件夹下面的某一类格式(.tif)的文件进行重命名
2017-08-08 21:51
405 查看
要求:对指定文件夹及其子文件夹下面的指定格式的文件进行重命名
实现代码:
void Picsort(string filename){
/*string filename = R"(D:\天文台汇总\fast自测数据\matlab\新建文件夹)";*/
ofstream fout;
int count = 0;
_finddata_t fileInfo;
string Filename = filename + "\\*.tif";
long handle = _findfirst(Filename.c_str(), &fileInfo);
if (handle == -1){
cerr << "can not match the folder path" << endl;
exit(-1);
}
do{
//如果是目录,迭代之
if (fileInfo.attrib& _A_SUBDIR){
if ((strcmp(fileInfo.name, ".") != 0) && (strcmp(fileInfo.name, ". .") != 0)){
string newFilename = filename + "\\" + fileInfo.name;
Picsort(newFilename);
}
}
//如果不是,重命名
else{
string new_name = filename + "\\" + to_string(++count) + ".tif";
string oldname = filename + "\\" + fileInfo.name;
rename(oldname.c_str(), new_name.c_str());
}
}
// do{
// string new_name = filename + "\\" + to_string(++count) + ".tif";
// string oldname = filename+"\\"+fileInfo.name;
// rename(oldname.c_str(),new_name.c_str());
// }
while (_findnext(handle, &fileInfo) == 0);
_findclose(handle);
}
基本结构就跟遍历文件夹类似,需要对遍历出来的内容做指定的修改,即在else{}里面添加相应的代码就好了!这个程序有个bug,就是在对文件夹下面的子文件夹里面的.tif照片进行重命名时候,需要将子文件的名字改为带有.tif后缀的子文件夹名才能对里面的图片进行重命名!(有空来改)
转自http://blog.csdn.net/lgfun/article/details/53995151
实现代码:
void Picsort(string filename){
/*string filename = R"(D:\天文台汇总\fast自测数据\matlab\新建文件夹)";*/
ofstream fout;
int count = 0;
_finddata_t fileInfo;
string Filename = filename + "\\*.tif";
long handle = _findfirst(Filename.c_str(), &fileInfo);
if (handle == -1){
cerr << "can not match the folder path" << endl;
exit(-1);
}
do{
//如果是目录,迭代之
if (fileInfo.attrib& _A_SUBDIR){
if ((strcmp(fileInfo.name, ".") != 0) && (strcmp(fileInfo.name, ". .") != 0)){
string newFilename = filename + "\\" + fileInfo.name;
Picsort(newFilename);
}
}
//如果不是,重命名
else{
string new_name = filename + "\\" + to_string(++count) + ".tif";
string oldname = filename + "\\" + fileInfo.name;
rename(oldname.c_str(), new_name.c_str());
}
}
// do{
// string new_name = filename + "\\" + to_string(++count) + ".tif";
// string oldname = filename+"\\"+fileInfo.name;
// rename(oldname.c_str(),new_name.c_str());
// }
while (_findnext(handle, &fileInfo) == 0);
_findclose(handle);
}
基本结构就跟遍历文件夹类似,需要对遍历出来的内容做指定的修改,即在else{}里面添加相应的代码就好了!这个程序有个bug,就是在对文件夹下面的子文件夹里面的.tif照片进行重命名时候,需要将子文件的名字改为带有.tif后缀的子文件夹名才能对里面的图片进行重命名!(有空来改)
转自http://blog.csdn.net/lgfun/article/details/53995151
相关文章推荐
- BAT脚本求文件夹下面指定类型文件数量,包含子文件夹递归
- 写一个脚本,对一个文件夹内指定格式的文件做重命名处理,要求:重命名为数字编号从1开始,当有新增文件的时候,自动重名并跟随末尾编号格式,中间删减的时候,末尾名称自动改名补回空缺序号
- c++利用windows api遍历指定文件夹及其子文件夹中的文件
- java io 使用递归删除指定的文件夹及其子文件夹和文件 先测试再正式使用哦
- 列出某文件夹及其子文件夹下面的文件,并可根据扩展名过滤
- 列出某文件夹及其子文件夹下面的文件,并可根据扩展名过滤
- 列出某文件夹及其子文件夹下面的文件,并可根据扩展名过滤
- 非递归遍历指定文件夹下的所有文件及其子文件夹 [11/29/2010 更新]
- java遍历删除指定文件夹下面的相同格式或指定格式的file文件
- 遍历指定文件夹的指定格式的文件并且copy到指定的文件夹下面
- java遍历删除windows下的指定文件夹下面的相同格式或指定格式的file文件
- Fork/Join框架介绍III 【在一个文件夹及其子文件夹中来搜索带有指定扩展名的文件】
- 用命令行删除指定文件夹下面的所有文件(如果里面没有子文件夹)
- 非递归遍历指定文件夹下的所有文件及其子文件夹
- php 获取某个文件夹及其子文件夹的所有文件并支持文件格式的筛选
- c++利用windows api遍历指定文件夹及其子文件夹中的文件
- 将文件夹及其子文件夹中的含有某关键字词的文件进行关键词的替换
- 搜索指定文件夹里指定格式的文件
- c#将一个文件夹及其里面的所有内容(文件和文件夹)复制到指定路径
- python 查找文件夹下的指定部分路径下的所有文件内匹配的字符 包括子文件夹下的文件