Полагаю, это будет зависеть от вашего определения "То же самое"
Compare-Object (ls Source\Test.*) (ls Dest\Test.*) -Property Name, Length, LastWriteTime
, которое будет сравнивать фактические объекты FILE по имени, длине и дате изменения.Добавление -IncludeEqual также приведет к отображению одинаковых в обоих местах.
Если вы хотите копировать только те файлы из «Source», которые не совпадают в «Destination», просто сделайте следующее:
Compare-Object (ls $Source) (ls $Destination) -Property Name, Length, LastWriteTime -passthru |
Where { $_.PSParentPath -eq (gi $Source).PSPath } |
Copy-Item $Destination
НЕ начинайте писать сценарии, которые получают контент (как предложено другими) для сравнения файлов - вы бы загружали все в память ...
НЕ рассматривайте использованиеrobocopy (хотя его синтаксис командной строки устарел).= Þ