比较对象cmdlet是否可以预测$ Null值?
例如,当我试图比较像这样2个值:
Compare-Object -ReferenceObject $Value1 -DifferenceObject $Value2
我经常收到以下错误:
Cannot bind argument to parameter 'ReferenceObject' because it is null
我的问题是:有没有办法说:如果其中任何一个等于$ null;做一些
比较对象cmdlet是否可以预测$ Null值?
例如,当我试图比较像这样2个值:
Compare-Object -ReferenceObject $Value1 -DifferenceObject $Value2
我经常收到以下错误:
Cannot bind argument to parameter 'ReferenceObject' because it is null
我的问题是:有没有办法说:如果其中任何一个等于$ null;做一些
说明比较对象上说:
如果基准设置或设置不同的是零($空),即比较对象产生终止错误。
所以你唯一的选择似乎是一个陷阱或尝试/赶上。
干杯,用Try/Catch语句解决它。谢谢m8 – ScriptingBerry 2013-03-18 22:22:29
if($Value1 -eq $NULL){
return
}
Compare-Object -ReferenceObject $Value1 -DifferenceObject $Value2
这将是一个更强大的答案,如果你解释它。 – 2013-03-19 20:30:16
这只是尝试/捕捉的替代方案。如果第一个值为NULL,则停止。如果不为NULL,则可以比较对象。我不知道PS能够让这些尝试/捕捉短语发挥作用。 – 2013-03-21 05:10:00
此接受空值:
Compare-Object -ReferenceObject @($Value1 | Select-Object) -DifferenceObject @($Value2 | Select-Object)
这确实的东西,如果空:
十字发布另一个答案: http://stackoverflow.com/questions/13504346/ powershell-compare-object-on-empty-folder – 2015-04-07 17:23:45