我正在尝试通过递归方式将一个目录从A复制到B。可以使用以下代码完成此操作:
Copy-Item C:\MyTest C:\MyTest2 –recurse
我希望能够仅复制新文件(源目录中存在但目标目录中不存在的文件)并且仅复制那些基于CRC检查而非时间戳已更改的文件。
$file = "c:\scripts"
param
(
$file
)
$algo = [System.Security.Cryptography.HashAlgorithm]::Create("MD5")
$stream = New-Object System.IO.FileStream($file, [System.IO.FileMode]::Open)
$md5StringBuilder = New-Object System.Text.StringBuilder
$algo.ComputeHash($stream) | `
% { [void] $md5StringBuilder.Append($_.ToString("x2")) }
$md5StringBuilder.ToString()
$stream.Dispose()
这段代码给了我一个特定文件的 CRC 校验...但我不确定如何将两个脚本结合起来,以便真正给我需要的结果。我也不知道上面的 CRC 校验是否是正确的做法。
有人能提供任何见解吗?