社区
C++ Builder
帖子详情
如何实现目录拷贝?
失落的羊
2006-12-27 09:46:49
如何实现目录拷贝,包括目录下面的子目录和所有文件,有没有代码参考?
void Copy(AnsiString a,AnsiString b)
{
}
a :源目录
b:目的目录
将a目录下所有文件(含子目录)拷贝到 b目录下,如果b目录已经存在,提示要不要覆盖,如何实现这样的功能?
...全文
252
5
打赏
收藏
如何实现目录拷贝?
如何实现目录拷贝,包括目录下面的子目录和所有文件,有没有代码参考? void Copy(AnsiString a,AnsiString b) { } a :源目录 b:目的目录 将a目录下所有文件(含子目录)拷贝到 b目录下,如果b目录已经存在,提示要不要覆盖,如何实现这样的功能?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yangyaoxing
2006-12-28
打赏
举报
回复
BOOL __fastcall TForm1::copyDir(AnsiString source , AnsiString Destination)
{ TSearchRec sr;
AnsiString strDir;
AnsiString strFile;
AnsiString desFile;
int Attr = 0;
Attr|=faAnyFile;
int i = 1024;
if(Destination[Destination.Length()] != '\\')
{
Destination = Destination + "\\";
MkDir(Destination);
}
if(source[source.Length()] != '\\')
source = source + "\\";
if(FindFirst(source+"\\*.*",Attr,sr)==0)
{
do
{
if(sr.Name == "." || sr.Name == "..")
{
continue;
}
if(sr.Attr == faDirectory)
{
MkDir((Destination + sr.Name));
copyDir(source + sr.Name , Destination + sr.Name);
}
else
{
strFile=source+sr.Name;
desFile = Destination + sr.Name;
::CopyFile(strFile.c_str() , desFile.c_str(),true);
}
}while(FindNext(sr)== 0);
FindClose(sr);
}
return TRUE;
}
wood542344
2006-12-27
打赏
举报
回复
兄弟自己写吧。提示一下。第一递归,第二,用FindFirst,FindNext,FindClose.
这个应该不是很难的。
编译失败
2006-12-27
打赏
举报
回复
递归函数
jiangshx
2006-12-27
打赏
举报
回复
//下面这段代码修改一下就可以了
#define NO_WIN32_LEAN_AND_MEAN // +++
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "shlobj.h" // +++
。。。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ITEMIDLIST *pidl;
char soupath[MAX_PATH],tarpath[MAX_PATH];
memset(soupath,0,MAX_PATH);
SHGetSpecialFolderLocation(Application->Handle, CSIDL_FAVORITES, &pidl);
SHGetPathFromIDList(pidl,soupath);
ShowMessage("IE收藏夹路径"+soupath);
memset(tarpath,0,MAX_PATH);
strcpy(tarpath,DirectoryListBox1->Directory.c_str());
ShowMessage("目标文件夹路径:"+DirectoryListBox1->Directory);
ShowMessage("目标文件夹名称:"+DirectoryListBox1->Items->Strings[DirectoryListBox1->ItemIndex]+" -这个有点不太准");
SHFILEOPSTRUCT sfo;
sfo.hwnd = NULL;
sfo.wFunc = FO_COPY;
sfo.pFrom=soupath;
sfo.pTo=tarpath;
sfo.fFlags =FOF_NOCONFIRMATION|FOF_NOCONFIRMMKDIR;
int hr=SHFileOperation(&sfo); //复制函数 - 使用这个函数时,soupath和 tarpath,都必须确定是以两个'\0'结尾,否则容易出错
if(hr==0){
ShowMessage("复制成功");
}
}
zyyoung
2006-12-27
打赏
举报
回复
xcopy .\test\*.* .\a\ /y
批处理好了
vc
实现
文件夹从一个
目录
下
拷贝
到另一个
目录
vc
实现
文件夹从一个
目录
下
拷贝
到另一个
目录
源代码
什么是浅
拷贝
和深
拷贝
?
文章
目录
1、什么是浅
拷贝
?2、什么是深
拷贝
?2.1、常见的深
拷贝
方式 在Java语言中,当我们需要
拷贝
一个Java对象的时候,常见的会有两种方式的
拷贝
:浅
拷贝
与深
拷贝
。 浅
拷贝
:只是
拷贝
了源对象的地址,所以源对象的任何值发生改变时,
拷贝
对象的值也会随之而发生变化。 深
拷贝
:则是
拷贝
了源对象的所有值而不是地址,所以即使源对象的值发生任何变化时,
拷贝
对象的值也不会改变。 1、什么是浅
拷贝
? 浅
拷贝
代码演示(最常见的方式): /** * 浅
拷贝
:
拷贝
的就是目标对象在堆内存中的地址 *
Ansible自动化运维理论与实战教程
自动化产品可以帮助企业快速提升IT运维部门工作质量,如:对报警进行智能处置、日常巡检、应急处置、作业调度等等。这些日常繁杂、重复的工作完全可以使用自动化的功能去
实现
,通过使用自动化产品,借助图形化的流程设计器简单的拖拽、配置即能
实现
监控管理、操作管理、巡检管理等所有业务流程,大大减少繁琐、复杂的开发设计工作;智能的人机交互能够
实现
批量参数录入、错误控制、双人复核等特殊要求;操作流引擎的升级使得处理能力变得更强大、更稳定、更高效的运行。 学习完本课程,你将能收获如下:能够安装ansible服务器和客户端能够定义ansible主机清单进行服务器分组能够使用hostname模块修改主机名能够使用file模块做基本的文件操作能够使用copy模块把文件
拷贝
到远程机器能够使用fetch模块把文件从远程
拷贝
到本地能够使用user模块管理用户能够使用group模块管理用户组能够使用cron模块管理时间任务能够使用yum_repository模块配置yum能够使用yum模块安装软件包能够使用service模块控制服务的启动,关闭,开机自启动能够使用script模块在远程机器上执行本地脚本能够使用command与shell模块远程执行命令能够编写playbook
实现
httpd能够使用roles
实现
lamp
线程池
实现
目录
拷贝
线性池
实现
目录
拷贝
如何
实现
Cloneable接口?深
拷贝
和浅
拷贝
的区别?
1.如何
实现
Cloneable接口?2. 什么是浅
拷贝
? 什么是深
拷贝
?
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章