Compare-объект не сравнивает действительно нужные файлы в powershell - PullRequest
0 голосов
/ 25 февраля 2020
$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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...