快速提问
有没有更好的(即更有效/更简洁)的方法来做到这一点?
compare-object $a $b | ?{$_.SideIndicator -eq '<='}
Detail
Compare-Object
给定参数-excludeDifferent
and -includeEqual
允许您修改获得的结果。
- 使用两者都会给你一个内部连接
- 仅使用
-includeEqual
为您提供完整的外部连接
- 仅使用
-excludeDifferent
毫无意义;由于默认情况下排除相同的项目,因此现在它将排除所有内容。
没有选项-includeLeft
, -excludeLeft
或类似的。
目前,要执行右侧为空的左外连接(即引用对象中的项不在差异对象中),我需要按照上面的代码手动过滤结果。
我错过了什么/有更好的方法吗?
http://ss64.com/ps/compare-object.html http://ss64.com/ps/compare-object.html
该 cmdlet 没有类似的选项,但是您可以创建一个过滤器(例如在您的配置文件中),然后使用它来过滤结果:
就像是
filter leftside{
param(
[Parameter(Position=0, Mandatory=$true,ValueFromPipeline = $true)]
[ValidateNotNullOrEmpty()]
[PSCustomObject]
$obj
)
$obj|?{$_.sideindicator -eq '<='}
}
usage
compare-object $a $b | leftside
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)