C++之调用脚本实现复制当前路径指定目录下文件到另外的地方
发布日期:2021-06-29 11:09:05 浏览次数:4 分类:技术文章

本文共 1546 字,大约阅读时间需要 5 分钟。

使用system()可以完成程序调用脚本,其实system(“pause”);就是这个原理的

#include 
#include
#include
#include
#include "MyFile.h"using namespace std;int main(){
vector
vct_strFilePath; MyFile myFile; //获取当前路径 char ch_temp[120]; GetCurrentDirectoryA(120, ch_temp); string str_CurrentPath = ch_temp; //cout << str_CurrentPath; //遍历相对路径的目录 string str_OldPath = str_CurrentPath.substr(0, str_CurrentPath.find("CPulsCode")); myFile.GetWorkList(str_OldPath + "Old\\", vct_strFilePath, true); //使用system接口调用脚本复制文件 for (size_t i = 0; i < vct_strFilePath.size(); i++) {
cout << vct_strFilePath[i] << endl; string str_temp = "copy " + vct_strFilePath[i] + " E:\\new\\"; system(str_temp.c_str()); } system("pause"); return 0;}
//获取当前目录下所有文件void MyFile::GetWorkList(string strWorkPath, vector
& vctWorkList, bool bSeachChild){
WIN32_FIND_DATAA FileData; HANDLE FileHandle = FindFirstFileA((strWorkPath + "*.*").c_str(), &FileData); if(FileHandle == INVALID_HANDLE_VALUE) {
return ; } do {
if (strcmp(FileData.cFileName, ".") == 0 || strcmp(FileData.cFileName, "..") == 0) {
continue; } else if ((FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY) {
if (bSeachChild) {
GetWorkList(strWorkPath + FileData.cFileName + "\\", vctWorkList, bSeachChild); } } else {
vctWorkList.push_back(strWorkPath + FileData.cFileName); } } while (FindNextFileA(FileHandle, &FileData) != 0); FindClose(FileHandle); return;}

转载地址:https://blog.csdn.net/zw1996/article/details/104978527 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:C++学习-1(各种编译器,以及qt下使用qmake,cmake,linux下使用cmake管理)
下一篇:基于QT的仓库礼品出入库管理(第一个给别人使用的软件)

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月02日 19时25分49秒