2016-05-29 3 views
0

Ich habe ein Problem, es sieht einfach aus, aber kann keine Lösung finden; Ich wiederhole eine Hash-Tabelle in PowerShell es sieht wie folgt aus:Schlüssel des aktuellen Werts in Hash-Tabelle mit Powershell

foreach($tool in $otherTools.GetEnumerator() | Sort Name) 
{ 
    #tried echo $tool.Name 
    #tried echo $tool.Value 
    #tried echo $tool.Key 
} 

aber nichts über funktioniert. Der Grund ist, ich möchte die switch-Anweisung innerhalb von Schlüssel verwenden.

HashTable wie folgt aussieht:

Name       Value 
----       ----- 
One       testone 
Two       TestTwo 
+1

Unklare Frage. Was funktioniert nicht? Welche Ausgabe erhalten Sie? Fehler? –

Antwort

4

Du es richtig zu machen. Vielleicht haben Sie etwas wie echo "$tool.Key" verwendet, das System.Collections.DictionaryEntry.Key ausgeben wird. Um dies zu beheben, können Sie entweder verwenden echo "$($tool.Key)" oder einen Format-String:

$hashTable = @{ 
    One = 'testone' 
    Two = 'TestTwo' 
} 

foreach ($tool in $hashTable.GetEnumerator() | sort Name) 
{ 
    Write-Host ("Name: {0} Value: {1}" -f $tool.Key, $tool.Value) 
} 

Ausgang:

Name: One Value: testone 
Name: Two Value: TestTwo 
Verwandte Themen