递归比较来自两个文件夹的文件内容,如果不同则进行归档,然后复制
问题描述:
我被要求将该实用程序放在一起以便比较源/目标文件夹中的文件,检查是否不同,如果是,归档文件在目的地通过重命名并复制源文件。我挖了一些命令,看了一下像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
}