【问题标题】:Powershell Compare-Object output to filePowershell 比较对象输出到文件
【发布时间】:2018-11-28 01:35:01
【问题描述】:

我有 2 个简单的文本文件,我需要比较并输出两个文件中的项目

存档.TXT

10000
10001
10002
10003
10005
10010
10011

Active-Job-List.TXT

10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012

这会给我一个输出

$File1 = Get-Content C:\Archive-List.txt
$File2 = Get-Content C:\Active-Job-List.txt



   Compare-Object -ReferenceObject $File1 -DifferenceObject $File2 -IncludeEqual -ExcludeDifferent | Select @{Expression={$_.InputObject}} | Set-Content C:\Diff.txt

在 Diff.txt 中

@{$_.InputObject=10000}
@{$_.InputObject=10001}
@{$_.InputObject=10002}
@{$_.InputObject=10003}
@{$_.InputObject=10005}
@{$_.InputObject=10010}
@{$_.InputObject=10011}

但我真正想要的是这个的输出

10000
10001
10002
10003
10005
10010
10011

如何将结果过滤为我想要的?我应该 Get-Content 的 Diff.txt 并“修剪”掉我不想要的东西还是有更简单的方法?

【问题讨论】:

标签: powershell


【解决方案1】:

您需要扩展InputObject 属性。

Compare-Object -ReferenceObject $File1 -DifferenceObject $File2 -IncludeEqual -ExcludeDifferent | 
    Select-Object -ExpandProperty InputObject | 
    Set-Content C:\Diff.txt

【讨论】:

    【解决方案2】:

    您可以像这样在命令中添加-PassThru

    Compare-Object -ReferenceObject $File1 -DifferenceObject $File2 -IncludeEqual -ExcludeDifferent -PassThru | Set-Content C:\Diff.txt

    【讨论】:

      猜你喜欢
      • 2014-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多