【发布时间】:2017-07-04 16:23:30
【问题描述】:
我正在尝试将用户配置文件(或更准确地说是复制特定目录,例如 username\documents、username\desktop 等)备份到网络共享驱动器.我正在使用 C++ builder (10.1 starter),因此仅限于 boost 1.55。
我找到了 nijansen 的 copyDir 方法,但它有一个问题:尝试复制到由于此代码而已存在的目录时它“中断”:
if(fs::exists(destination))
{
std::cerr << "Destination directory " << destination.string()
<< " already exists." << '\n';
return false;
}
显然我可以将其更改为删除目录(如果存在),而不是返回,而是让它继续复制,但我正在寻找更多。
我想做的是将目录从原始目录镜像到备份(如 robocopy 的 /MIR 标志(包括子目录))。如果我今天备份一个用户,然后他们删除了一些内容,创建了一些内容,编辑了一个文档等,我只想将这些更改复制到明天的备份中(而不是重新备份所有未更改的内容)。一些用户有 50+ GB 的数据,如果我只是删除他们“昨天的”备份文件夹并创建一个全新的备份,这将花费太长时间。
总结:有没有办法使用 BOOST 在源和目标之间镜像(不仅仅是复制!)目录树?
任何帮助和/或示例将不胜感激!提前致谢!
【问题讨论】:
标签: c++ boost-filesystem