marabunta
Goto Top

Allgemeine Programmierfrage

Angenommen man hat einige Computernamen:
PC31, PC2, PC23,PC45

und jeweils eine IP mit unterschiedlichen Endungen:
.11, .22, .33, .44

jeder pc hat eine zugewiesene ip.

wenn ich jetzt beim programmieren/skripten die computernamen nach alphabet sortieren möchte soll die IP nicht die zuweisung verlieren.

Zuerst müssen computername und ip ausgelesen werden, von mir aus kanns eine text datei sein.
beides muss irgendwie gespeichert werden (array o.ä.) und dann nach der sortierung der computernamen muss ich eindeutig die zugehörige ip abfragen können z.b. mit der array id.

es geht mir mehr darum wie ich mehrere werte miteinander verknüpfen kann...kann mir da jmd. helfen

Content-Key: 254974

Url: https://administrator.de/contentid/254974

Printed on: April 25, 2024 at 21:04 o'clock

Member: colinardo
Solution colinardo Nov 16, 2014, updated at Nov 25, 2014 at 09:41:45 (UTC)
Goto Top
Hallo Marabunta,
Ich nehme jetzt einfach mal Powershell als Beispiel. Für diesen Fall ist eine Hashtable hervorragend dafür geeignet:
$hashtable = @{PC31='.11';PC2='.22'}  
Die IP zu einem Computer kannst du dann beispielsweise so aus der Hashtable abfragen
$hashtable.PC31
oder alternativ auch so
$hashtable['PC31']

Die kannst du dann nach Belieben mit Sort-Object sortieren ohne das deine Zuordnung verloren geht.

$hashtable.GetEnumerator() | sort Name

Mehr zur Arbeit mit Hashtables

Weitere Beispiele zu sortierten Arrays findest du in diesem Kommentar von mir
Powershell Arrays deklarieren füllen abfragen ???


Du kannst die Zuordnung natürlich auch allgemein gesprochen so machen das du beide Werte in ein Array verpackst und dieses wiederum in einem Array mit den anderen Werten zusammenfasst. Quasi eine Liste aus Arrays in einem Array zusammengefasst.
Pseudocode:

Array(Array("PC31",".11"),Array("PC2",".22"))

Oder nach selbem Schema aber mir mehrdimensionalen Arrays
Pseudocode:
array(0,0) = "PC31"  
array(0,1) = ".11"  
array(1,0) = "PC2"  
array(1,1) = ".22"  
Grüße Uwe