0

私は、昨日と今日のファイルを比較して変更を提供する 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

ファイルにデータがない (空白/改行文字のみ) ことを識別するために追加できるものを追加して、null 行をテーブルにロードしないようにすることができます。事前に感謝します。

4

2 に答える 2