Win32 复制文件无需替换

问题描述 投票:0回答:1

我目前正在使用这个答案来复制代码中的目录: https://stackoverflow.com/a/11483739/14296133

我遇到了一个问题,即复制并替换所有同名文件。例如,如果我的目标目录已经有一个文件“test.txt”,而我的源目录中有一个不同的“test.txt”,则新内容将被复制,但我希望旧内容保留。

我查看了微软的文档,找不到任何使用 SHFileOperation 复制文件而不替换现有文件的标志。我的问题是这个标志是否存在,如果不存在,有什么替代方案?最好使用 SHFileOperation 接口。

c++ windows winapi mfc
1个回答
0
投票

我设法让 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;
}
© www.soinside.com 2019 - 2024. All rights reserved.