8

簡単な質問

これを行うためのより良い(つまり、より効率的/より簡潔な)方法はありますか?

compare-object $a $b | ?{$_.SideIndicator -eq '<='}

詳細

Compare-Object-excludeDifferentパラメータを与え、得られる-includeEqual結果を修正できるようにします。

  • 両方を使用すると、内部結合が得られます
  • を使用-includeEqualすると、完全な外部結合が得られます
  • just を使うの-excludeDifferentは無意味です。デフォルトでは等しいアイテムが除外されるため、すべてが除外されます。

-includeLeft-excludeLeftまたは同様のオプションはありません。

現在、右側が null である左外部結合 (差分オブジェクトにない参照オブジェクト内のアイテム) を実行するには、上記のコードに従って、結果を手動でフィルター処理する必要があります。

私は何かを逃しましたか/より良い方法はありますか?

http://ss64.com/ps/compare-object.html

4

2 に答える 2

1

-property SideIndicator を追加して、if ステートメントを使用することもできます。

$Missing = compare-object $Old $new -Property Name,SideIndicator
     ForEach($Grp in $Missing) {
          if($grp.sideindicator -eq "<=") {     
          # Do Something here
          }
     }
于 2018-12-12T20:28:54.590 に答える