$DirRef=dir $newMountPath -Recurse -File
$Dirdiff=dir $oldMountPath -Recurse -File
Compare-Object -ReferenceObject $DirRef -DifferenceObject $DirDiff | where {$_.sideindicator -eq '=>'} |select -ExpandProperty inputobject | foreach {`
$source=$_.fullname
$dest=$newMountPath+"\"+$source.replace("C:\xxxx\","")
Copy-Item $_.fullname -Destination $dest -Force -PassThru -WhatIf
}
После сравнения двух каталогов я обнаружил, что результаты не были действительно правильными. он искал одно и то же имя файла из другого каталога в последнем порядке, вместо того, чтобы сравнивать те же самые два каталога.
Итак, как я могу сравнить два одинаковых каталога файла во многих каталогах, вместо того, чтобы просто искать то же имя файла в другом каталоге, чтобы заменить мой потерянный файл.
Например:
Каталог включает в себя: A1, A2, A3 подкаталог
Это три подкаталог также имеет 1.txt
B каталог включает в себя: A1, A2, A3 подкаталог
и что три подкаталога имеют 1.txt
тоже
В настоящее время, A2 sub -директория каталога B потеряна 1.txt
Так что я использую свой скрипт, он может найти 1.txt
и скопировать в подкаталог A2, но Sourcer из 1.txt
подкаталога A3