Снова привет, новичок, борющийся с PowerShell.
У меня есть две папки данных, которые нужно сравнивать друг с другом: DirA и DirB. Все изменения, которые вносятся в DirA (добавление / удаление папок или данных), должны быть скопированы в папку Delta. Папка Delta копирует содержимое, затем в DirB. Мне нужно сделать это, чтобы загрузить данные в отключенную сеть, где находится DirB. Моя проблема в том, что данные, похоже, не надежно копируются в Delta и из Delta в DirB. Данные, которые должны быть синхронизированы, составляют несколько ГБ
Вот мой код. Любая помощь или движение в правильном направлении приветствуется!
PS: я видел пример на Сравнение папок и контента с PowerShell , но когда я запускаю свой код, я вижу много ошибок времени выполнения. Я не могу держать его там, где он идет не так.
<# This script is being used to track changes between DirA and DirB. Changes will be copied to Delta folder and from here copied backwards to DirB to be in sync with DirA. Delta folder will be copied to an USB drive to be connected in disconnected network
#>
$src = Get-ChildItem -Path "C:\DirA\" -Recurse
$dst = Get-ChildItem -Path "D:\DirB" -Recurse
Do a compare of scr and dst and copy the changes to the folder D:\Delta Compare-Object -ReferenceObject $src -DifferenceObject $dst
-Property Name, Length | Where-Object {$_.SideIndicator -eq "<="} | ForEach-Object {
Copy-Item C:\DirA\$($_.name) -Destination "D:\Delta\WsusContent" -Recurse -force
}
Copy-Item D:\Delta\* D:\DirB\ -Recurse -Force