ich ein Array in Powershell habe mit den folgenden Zeilen: 1, Tgt, 10, Fld 2, XM, 8, Fi 3, TX, 12, FiPowershell - Hash-Tabelle aus einem Array
Erste Spalte ist der Zeilenzähler, zweite Spalte ist ein Filtertyp, 3. Spalte ist ein Zähler, 4. Spalte ist ein Aktionstyp.
Ich muss eine Hash-Tabelle der 2. & 3. Spalten erstellen.
Wenn ich in Powershell Folgendes mache, erstellt es eine Hash-Tabelle, die ich verwenden kann.
[email protected]()
$z = {
Tgt = 10
XM = 8
TX = 12
}
Aber wenn ich eine foreach verwenden, um das gleiche zu tun, erstellt es eine Sammlung der Sammlung.
foreach ($b in $arr) {
$z2 += @{$b[1] = $b[2]}
}
Jedes hat 3 Elemente darin, aber die Hashtabelle $ z eine {System.Collections.DictionaryEntry,System.Collections.DictionaryEntry,System.Collections.DictionaryEntry}
während Hashtabelle $ z2 a
{{System.Collections.DictionaryEntry},{System.Collections.DictionaryEntry},{System.Collections.DictionaryEntry}}
$ z in einem foreach verwiesen werden kann durch Verwenden Sie die $ z.Keys, aber ich kann nicht die gleiche Sache auf $ Z2 verweisen. Obwohl jeder drei Zeilen hat, ist $ z ein Array aus 3 Zeilen, aber $ z2 ist ein Array aus 3 Arrays mit jeweils einer Zeile. Was ich tun möchte ist, dass $ z und $ z2 Hash-Tabelle in jeder Hinsicht identisch sind.
Ich bin mir sicher, ich mache etwas offensichtlich & falsch versuchen, diese Hash-Tabelle aus dem bestehenden Array zu erstellen, aber kann nicht herausfinden, was ich falsch mache. Irgendwelche Vorschläge geschätzt.
Danke!
Die Kombination von beiden Dingen (ich habe nicht die Klammer vs Klammern gefangen) und die $ z2 [$ b [1]] behoben mein Problem. Vielen Dank für die Hilfe! –