以下のスクリプトを実行して結果をテキストファイルに書き込むことで、2つの長いテキストファイルを比較します。期待される標準比較オブジェクト出力の代わりに、私はその一部を取得し、他のものは(最大文字数の制限やテンプレートの書式などにより)トリミングされます。 ファイルに生の出力を書き込む方法や、正しい結果を得るために行の文字数を増やす方法はありますか? 私が比較したファイルは、どのようにしても短縮または再フォーマットできません。おそらく、私はcompare-object関数の代わりに何か他のものを使うことができますか?powershellの比較オブジェクト出力の問題
ありがとうございました!
スクリプト:
function compareConfigs {
Try{
$compareOne = Get-Content $azConfig
$comparetwo = Get-Content $dummyConfig
}
Catch{
Write-Host "Path is invalid or the file does not exist. "
}
Write-Host "Beginning comparison"
$Compare = Compare-Object $compareOne $compareTwo
$compare | foreach {
if ($_.sideindicator -eq '<=')
{$_.sideindicator = $azConfig}
if ($_.sideindicator -eq '=>')
{$_.sideindicator = $dummyConfig}
}
$Compare |
select @{l='Value';e={$_.InputObject}},@{l='File';e={$_.SideIndicator}} |
Out-File $compareResult
Write-Host "Complete!"
}
compareConfigs
出力:
InputObject
-----------
<add fileName="E:\Logs\LeadManagement\LeadService.log" rollSizeKB="4096" timeStampPattern="yyyy-MM-dd" rollFileExistsBehavior="Increment" rollInterval="Day" formatter="Text...
<add template="Timestamp: {timestamp}
Message: {message}
Category: {category}
Priority: {priority}
EventId: {eventid}
Severity: {severity}
Title:{ti...
<add fileName="E:\Logs\LeadManagement\LeadService.log" rollSizeKB="4096" timeStampPattern="yyyy-MM-dd" rollFileExistsBehavior="Increment" rollInterval="Day" formatter="Text...
<add template="Timestamp: {timestamp}
Message: {message}
Category: {category}
Priority: {priority}
EventIwefwefd: {eventid}
Severity: {severity}
Tit...