У меня есть этот код PowerShell, который сравнивает 2 каталога и удаляет файлы, если файлы больше не существуют в исходном каталоге.Compare-Object Удалить файл, если файл не существует в источнике
Например у меня есть папка 1 & Папки 2. Я хочу сравнить папки 1 с папкой 2, если файл больше не существует в папке 1 она будет удалена из папки 2.
этого код работает нормально, но у меня есть проблема, когда он также набирает разницу в файлах по дате/времени. Я только хочу, чтобы подобрать значение, если файл больше не существует в папке 1.
Compare-Object $source $destination -Property Name -PassThru | Where-Object {$_.SideIndicator -eq "=>"} | % {
if(-not $_.FullName.PSIsContainer) {
UPDATE-LOG "File: $($_.FullName) has been removed from source"
Remove-Item -Path $_.FullName -Force -ErrorAction SilentlyContinue
}
}
Есть дополнительные Where-Object {$ file1 <> $ file2} или что-то подобное.?
Cheers.
Да, это код, который я использую $ source = Get-ChildItem $ pathofSourceFiles -Recurse | Исключить каталоги $ excludedDirectories $ destination = Get-ChildItem $ pathofDestination -Recurse | Исключить каталоги $ excludedDirectoriessing для получения информации: –
Но, как я уже упоминал ранее, этот код отлично работает на файлы с таким же именем, но дата/время отличается, но не так, когда папка .. –