MFC实现文件复制删除功能
2016-04-29 12:56
369 查看
用MFC实现指定文件夹下所有文件的复制(包括含有子文件夹),删除指定文件夹下所有文件功能
#include <afxwin.h>
#include<stdio.h>
//#include <stdafx.h>
using namespace std;
void myCopyDirectory(CString source, CString target)
{
CFileFind finder;
bool bWorking = finder.FindFile(source+"\\*.*");
while (bWorking){
bWorking = finder.FindNextFile();
if (finder.IsDirectory() && !finder.IsDots()){ //是文件夹 而且 名称不含 . 或 ..
CreateDirectory(target + "/" + finder.GetFileName(), NULL);
myCopyDirectory(finder.GetFilePath(), target + "/" + finder.GetFileName()); //递归创建文件夹+"/"+finder.GetFileName()
}
else{ //是文件 则直接复制
CopyFile(finder.GetFilePath(), target + "/" + finder.GetFileName(), FALSE);
}
}
}
void myDeleteDirectory(CString directory_path) //删除一个文件夹下的所有内容
{
CFileFind finder;
BOOL bWorking = finder.FindFile(directory_path + "\\*.*");
while (bWorking){
bWorking = finder.FindNextFile();
if (finder.IsDirectory() && !finder.IsDots()){//处理文件夹
myDeleteDirectory(finder.GetFilePath()); //递归删除文件夹
RemoveDirectory(finder.GetFilePath());
}
else{//处理文件
DeleteFile(finder.GetFilePath());
}
}
RemoveDirectory(directory_path);
}
int main(){
myCopyDirectory("C:\\二级文件夹", "C:\\一级文件夹");
myDeleteDirectory("C:\\三级文件夹");
return 0;
}
#include <afxwin.h>
#include<stdio.h>
//#include <stdafx.h>
using namespace std;
void myCopyDirectory(CString source, CString target)
{
CFileFind finder;
bool bWorking = finder.FindFile(source+"\\*.*");
while (bWorking){
bWorking = finder.FindNextFile();
if (finder.IsDirectory() && !finder.IsDots()){ //是文件夹 而且 名称不含 . 或 ..
CreateDirectory(target + "/" + finder.GetFileName(), NULL);
myCopyDirectory(finder.GetFilePath(), target + "/" + finder.GetFileName()); //递归创建文件夹+"/"+finder.GetFileName()
}
else{ //是文件 则直接复制
CopyFile(finder.GetFilePath(), target + "/" + finder.GetFileName(), FALSE);
}
}
}
void myDeleteDirectory(CString directory_path) //删除一个文件夹下的所有内容
{
CFileFind finder;
BOOL bWorking = finder.FindFile(directory_path + "\\*.*");
while (bWorking){
bWorking = finder.FindNextFile();
if (finder.IsDirectory() && !finder.IsDots()){//处理文件夹
myDeleteDirectory(finder.GetFilePath()); //递归删除文件夹
RemoveDirectory(finder.GetFilePath());
}
else{//处理文件
DeleteFile(finder.GetFilePath());
}
}
RemoveDirectory(directory_path);
}
int main(){
myCopyDirectory("C:\\二级文件夹", "C:\\一级文件夹");
myDeleteDirectory("C:\\三级文件夹");
return 0;
}
相关文章推荐
- Win32串口API
- HDU 2017 字符串统计(水题)
- 指定url 状态码 时间段分析日志
- jQuery Ajax 实例 ($.ajax、$.post、$.get)
- collection和Map区别
- 函数指针与回调函数
- Lua 5.2/5.3 热更新小结
- 推荐几本英文写作的好书
- 【C#设计模式-装饰者模式】
- UIWebView与JS的深度交互
- 洗牌算法shuffle
- SDAU 课程练习3 1016
- 最快的高斯模糊(线性时间)Fastest Gaussian Blur (in linear time)
- 百度编辑器UEditor常用设置函数大全
- BZOJ4564 [Haoi2016]地图
- MFC中,动态创建的静态文本框响应单击事件
- 最牛B的编码套路
- 学习Django(1)
- Flas-SQLAchemy数据库操作使用学习笔记
- 2016.4.23【初中部 GDOI 】模拟赛A与改题总结