2017-01-25 8 views
-2

Compare-Object結果の値を割り当てようとしましたが、出力に関する追加情報が表示されています。このスクリプトをruningてのCompare-Objectを使用した後に配列に値を代入する

$a = (dir C:\_pc\*).BaseName 
$b = (dir C:\Users\username\Documents\folder\Jezyki\*).BaseName 
$c = (Compare-Object -IncludeEqual -ExcludeDifferent $a $b) 
foreach ($element in $c) { 
"$element" 
} 
Write-Output ($c) 

出力例:ここでは

はコードである

@{InputObject=FolderName; SideIndicator===} 
+0

私にとって、あなたが求めていることは不明です。あなたは何を達成しようとしませんか? –

+0

私はCompare-Object -IncludeEqual -ExcludeDifferent $ a $ bから値を取得し、$ cという配列に割り当てようとしています。 – AESTHETICS

+0

多分あなたは '$ c =(Compare-Object -IncludeEqual -ExcludeDifferent $ a $ b)のようなものが必要です。 select -expand InputObject' –

答えて

0

Compare-Objectため-PassThruスイッチを試してみてください。文字列を出力します。オブジェクトがオブジェクトであった場合、サイドインジケータが追加のプロパティとして追加されます。

Ex。あなたは、元のFileInfo -objectを維持したい場合

$c = Compare-Object -IncludeEqual -ExcludeDifferent $a $b -PassThru 

また、あなただけのオブジェクトの残りの部分を廃棄せずにその値を比較すること-Property Basenameを指定することができます。 Ex。

$c = Compare-Object (dir C:\_pc\*) (dir C:\Users\username\Documents\folder\Jezyki\*) -IncludeEqual -ExcludeDifferent -Property Basename -PassThru 
関連する問題