У меня есть сценарий PowerShell, который сравнивает вчерашний и сегодняшний файл, чтобы предоставить изменения, которые могут быть дополнительно загружены в таблицу Oracle для отчетности.Моя проблема в том, что в выходные дни, когда в исходной системе не происходит изменений, в сегодняшнем файле нет новых строк по сравнению со вчерашним (file1 и file2 идентичны).Compare-Object
по-прежнему создает выходной файл, который имеет только символ новой строки.Я искал этот форум для всех, у кого могла быть похожая проблема, и ниже я попробовал описать ниже.
Исходный код:
Compare-Object -ReferenceObject $(Get-Content $filenew) -DifferenceObject $(Get-Content $fileold) |
Where-Object SideIndicator -eq '<=' |
%{$_.Inputobject + $_.SideIndicator} |
ft -Auto |
Out-File $file_diff -Width 5000
Я попытался добавить ниже к своему коду и еговсе еще не помогает
$filen = Get-Item "D:\DevelopTest\DEV\Test\File2.txt"
$fileo = Get-Item "D:\DevelopTest\DEV\Test\File1.txt"
Compare-Object -ReferenceObject $(Get-Content $filenew) -DifferenceObject $(Get-Content $fileold) |
Where-Object SideIndicator -eq '<=' |
%{$_.Inputobject + $_.SideIndicator} |
ft -Auto |
Out-File $file_diff -Width 5000
(gc "D:\DevelopTest\DEV\Test\File.txt") |
? {$_.Trim() -ne "" } |
Set-Content $file_diff
Что можно добавить, чтобы определить, что в файле нет данных (только пустые / новые символы строки), поэтому я могу предотвратить загрузку пустых строк в таблицу.Любая помощь приветствуется, спасибо заранее.