比較對象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