2017-01-25 1 views
-2

Ich habe versucht, Werte von Compare-Object-Ergebnissen zuzuweisen, aber ich bekomme zusätzliche Informationen über die Ausgabe. HierZuordnung von Werten zu einem Array nach Verwendung von Compare-Object

ist der Code:

$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) 

Beispiel Ausgabe von runing dieses Skript:

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

Für mich ist es unklar, was Sie fragen. Was willst du erreichen? –

+0

Ich versuche Werte von Compare-Object-IncludeEqual -ExcludeDifferent $ a $ b zu erhalten und sie einem Array namens $ c zuzuordnen. – AESTHETICS

+0

Vielleicht möchten Sie etwas wie $ c = (Compare-Object-IncludeEqual -ExcludeDifferent $ a $ b) | Wählen Sie -expand InputObject –

Antwort

0

Versuchen Sie, die -PassThru Schalter für Compare-Object. Es wird die Zeichenfolgen ausgeben. Wenn das Objekt ein Objekt wäre, würde es sideindicator als eine zusätzliche Eigenschaft anhängen.

Ex.

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

Auch, wenn Sie die ursprüngliche FileInfo -object behalten möchten, können Sie -Property Basename geben Sie nur diesen Wert zu vergleichen, ohne den Rest des Objekts Wegwerfen. Ex.

$c = Compare-Object (dir C:\_pc\*) (dir C:\Users\username\Documents\folder\Jezyki\*) -IncludeEqual -ExcludeDifferent -Property Basename -PassThru 
Verwandte Themen