我目前正在使用这个答案来复制代码中的目录: https://stackoverflow.com/a/11483739/14296133
我遇到了一个问题,即复制并替换所有同名文件。例如,如果我的目标目录已经有一个文件“test.txt”,而我的源目录中有一个不同的“test.txt”,则新内容将被复制,但我希望旧内容保留。
我查看了微软的文档,找不到任何使用 SHFileOperation 复制文件而不替换现有文件的标志。我的问题是这个标志是否存在,如果不存在,有什么替代方案?最好使用 SHFileOperation 接口。
我设法让 C++17 在我的项目中工作,所以这里是相同函数的 C++17 重写:
std::error_code CopyDirTo(const std::wstring& source_folder, const std::wstring& target_folder) {
namespace fs = std::filesystem;
std::error_code error_code;
const auto copy_options = fs::copy_options::recursive | fs::copy_options::skip_existing;
fs::copy(source_folder, target_folder, copy_options, error_code);
return error_code;
}