说明
利用VS2015或者其他运行C++平台
原文件夹名称为JPEGImages,路径为为“E:\VS_project\Compare Methods\readtxt\JPEGImages\”,里面有某干个要移动的图片如1.jpg,2.jpg,3.jpg,4.jpg……
目标文件夹名称为images,路径为“E:\VS_project\Compare Methods\readtxt\images\”,里面无任何文件。
目的:将指定的图片从JPEGImages文件夹移动到images文件夹下,指定移动图片示例:1.jpg,2.jpg
步骤:在工程下新建一个“2.txt”的文档,里面写入要移动的文件名称:
1.jpg
2.jpg
**
运行代码
**
2.txt表示原文件夹下的文件名称:
#include<iostream>
#include<fstream>
#include<string>
#include<io.h>
#include<direct.h>
#include <windows.h>
using namespace std;
int main()
{
//查询文件
std::string fileFolderPath = "E:\\VS_project\\Compare Methods\\readtxt\\JPEGImages\\";
std::string outFolderPath = "E:\\VS_project\\Compare Methods\\readtxt\\images\\";
std::string line2 = "";
std::string line3 = "";
//输出所有文件
/*for (int i = 0; i < all_files.size(); i++)
{
std::cout << all_files[i] << std::endl;
}*/
ifstream in("2.txt");
string line;
if (in) // 有该文件
{
while (getline(in, line)) //line中不包括每行的换行符
{
line = line.erase(0, 7);
line2 = fileFolderPath + line+ "\0";
line3 = outFolderPath + line + "\0";
cout << line2 << endl;
cout << line3 << endl;
const char *lpctStr1 = (LPCTSTR)line2.c_str();
const char *lpctStr2 = (LPCTSTR)line3.c_str();
CopyFile(lpctStr1, lpctStr2, FALSE);
}
}
system("pause");
return 0;
}
结果
可以看到JPEGImages里的1.jpg和2.jpg复制到images,如果需要移动操作,参考MoveFile命令,将CopyFile换成MoveFile命令就可以。