У меня есть исходная папка и папка назначения. Если файл в исходной папке новее файла в папке назначения, его необходимо заменить. Я пробовал это сам, но это не работает так, как должно. Код, вероятно, решен слишком сложно для профессионалов.
$SourceAlarmgroups = $rootPath + "\..\..\..\..\..\..\Logical\VCShared\AlarmGroups"
$DestinationAlarmgroups = "$rootPath\Alarmgroups"
$lastModifiedDateSource = (Get-Item $SourceAlarmgroups).LastWriteTime
$lastModifiedDateDestination = (Get-Item $DestinationAlarmgroups).LastWriteTime
$FolderSource = Get-ChildItem -Recurse -Path $SourceAlarmgroups
$FolderDestination = Get-ChildItem -Recurse -Path $DestinationAlarmgroups
$FolderCheck = Compare-Object -ReferenceObject $FolderSource -DifferenceObject $FolderDestination
forEach($file in $FolderCheck){
if ($file.sideindicator -eq "<="){
$SetWriteCmd = 1
}
}
if ($lastModifiedDateSource -gt $lastModifiedDateDestination -or $SetWriteCmd -eq 1 ){
Write-Host " Collect alarm files..."
Get-ChildItem $SourceAlarmgroups -Include *.algrp | Copy-Item -Destination $DestinationAlarmGroups -Force -PassThru
&$Script2RunAlarmexport
}else{
Write-Host "Alarms: Already up to date"
}
Возникают две проблемы:
- ссылка на пустую папку не работает, т.е. если папка назначения пуста, возникает ошибка.
- файлы не копируются из источника в место назначения
Кто-нибудь может мне помочь. ТИА!