递归比较来自两个文件夹的文件内容,如果不同则进行归档,然后复制

问题描述:

我被要求将该实用程序放在一起以便比较源/目标文件夹中的文件,检查是否不同,如果是,归档文件在目的地通过重命名并复制源文件。我挖了一些命令,看了一下像Compare-Object -Recursive这样的东西,但我不确定这是否是正确的命令。这是我迄今取得的进展:递归比较来自两个文件夹的文件内容,如果不同则进行归档,然后复制

get-childitem -recurse $source | Where-Object {$_.Name -eq (Get-ChildItem -recurse $destination)} | Copy-Item -recurse -path "$source\*" -destination $destination -force 

但我不认为这是正确的。非常感谢在此指出正确的方向。

这是一个示例,您可以如何与compare命令进行比较。

$items1 = Get-ChildItem -Path C:\temp -Recurse 
$items2 = Get-ChildItem -Path C:\temp2 -Recurse 
$diffent = Compare-Object -ReferenceObject $items1 -DifferenceObject $items2 

foreach($item in $diffent){ 
    $path = $item.InputObject.FullName 
    #copy the item with the path in the variable $path 
}