【问题标题】:Powershell Compare two XML-Files and only get the value of the changePowershell 比较两个 XML-Files 并仅获取更改的值
【发布时间】:2018-10-04 10:47:57
【问题描述】:

我想在 Powershell 中比较两个 XML 文件。

所以我的代码看起来像:

$compareTempVar = Compare-Object $XML1 $XML2

所以结果是:

输入对象
.....................
一些文本“原始”.....
还有一些文字......
一些文字“变”......
还有更多文字......
(Xpath太长了,直接看Change)

那么我怎样才能只显示/导出/着色已更改的 Word?
像这个例子:
原件 |改变
.....................................
之前的文字 |之后的文字

【问题讨论】:

    标签: xml powershell xpath compare


    【解决方案1】:

    假设您正在获取 $XML1 和 $XML2 中文件的内容,您可以这样做以仅获取原始文件中更改的行:

    $original = Compare-Object $XML1 $XML2 | Where-Object{ $_.SideIndicator -eq "=>" } | ForEach-Object{ $_.InputObject }
    

    要获取替换原始行上方的行,请使用 SideIndicator "<="。

    【讨论】:

    • 好的,谢谢,这很有帮助,但是否可以只显示行中的更改?示例:现在我得到: C:\ 我只想显示:C:\
    • 请查看stackoverflow.com/questions/29930191/…希望对您有所帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    相关资源
    最近更新 更多