递归复制目录并在没有用户确认的情况下覆盖所有文件

Copy Directory recursively and overwrite all files without user confirmation

我有一个简单的功能:

function CopyDir(const fromDir, toDir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc  := FO_COPY;
    fFlags := FOF_FILESONLY;
    pFrom  := PChar(fromDir + #0);
    pTo    := PChar(toDir)
  end;
  Result := (0 = ShFileOperation(fos));
end;

当我复制时,弹出确认window说文件已经存在,询问是否应该覆盖它。

我想避免这个弹出窗口并在没有确认的情况下覆盖所有内容。

添加flagFOF_NOCONFIRMATION以消除警报