递归地比较两个文件夹中的文件内容,如果不同则存档,然后复制

时间:2017-10-19 15:24:57

标签: powershell

我被要求将此实用程序放在一起,以便比较源/目标文件夹中的文件,检查是否不同,如果是,则通过重命名将文件存档到目标中并复制源文件。我挖了一些命令并看了Compare-Object -Recursive之类的东西,但是我不确定这是不是正确的命令。这是我目前的进展:

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

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

1 个答案:

答案 0 :(得分:0)

这是一个如何与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
}