Auf dieser Seite

Wie man Arrays in PowerShell erstellt und verwendet



Variablen sind die grundlegendste Datenstruktur in so gut wie jeder Programmiersprache. Doch ehrlich gesagt reicht eine einzelne Variable meist nicht aus, insbesondere bei komplexeren Datenstrukturen. Hier kommen Arrays ins Spiel. Ob C++, Python oder PowerShell – Arrays sind in irgendeiner Form allgegenwärtig. Aber wie funktionieren PowerShell-Arrays eigentlich? Wie sieht ihre Syntax aus? Und vor allem: Wie verwendet man sie, ohne den Überblick zu verlieren? Schauen wir uns das genauer an.

PowerShell-Arrays 101

Ein Array ist im Grunde eine Sammlung von Variablen, die zusammengefasst sind. Anstatt mit vielen einzelnen Variablen zu arbeiten, speichert man zusammengehörige Daten in einem Container, wobei jedes Element ab null nummeriert wird. Das ist besonders hilfreich bei der Verwaltung großer Datenmengen. Unter Windows PowerShell ist das Erstellen eines Arrays unkompliziert.

Variablen beginnen mit einem $ -Zeichen. Beispielsweise $prime = 13speichert `a` einfach eine Zahl. Um ein Array zu erstellen, können Sie mehrere Werte durch Kommas getrennt zuweisen: $week = "Monday", "Tuesday", "Wednesday"`a = b`.Ganz einfach. Manche bevorzugen jedoch eine explizite Schreibweise und verwenden daher Klammern mit dem @ -Symbol, wie hier:

$week = @("Monday", "Tuesday", "Wednesday")

Das ist besonders praktisch, wenn Sie mit der Ausgabe von Befehlen arbeiten oder Verwechslungen vermeiden möchten, ob es sich um einen einzelnen Wert oder ein Array handelt. Und falls Sie einen Zahlenbereich benötigen, beispielsweise von 0 bis 9, können Sie Folgendes tun:

$digits = 0..9

Es erzeugt ein Array von Ziffern von null bis neun. Beim Initialisieren eines leeren Arrays können Sie Folgendes tun:

$values = @()

Das ist Ihre leere Leinwand, auf der Sie später weitere Elemente hinzufügen können. Und wenn Sie gerne verschachteln, können Arrays natürlich auch andere Arrays enthalten:

$coordinates = @( (5, 10, 23), (11, 7, 16) )

Nur ein kleiner Hinweis: Verschachtelungen können schnell unübersichtlich werden, verwenden Sie sie daher sparsam, es sei denn, Sie haben Erfahrung damit. PowerShell-Arrays sind flexibel genug, um gemischte Datentypen zu verarbeiten. Wenn Sie sie jedoch auf bestimmte Datentypen beschränken möchten, können Sie Folgendes tun:

[int[]] $numbers = 2, 3, 4, 5

So vermeiden Sie, versehentlich eine Zeichenkette anstelle einer Zahl einzufügen, was später zu Problemen führen kann. Seltsame Fehler treten häufig auf, wenn man bei der Datentypisierung nicht sorgfältig vorgeht.

Zugriff auf und Änderung von Array-Daten

Wie greift man also auf Elemente in einem Array zu? Ganz einfach – über den Index. Array-Indizes beginnen bei null. Um beispielsweise das sechste Element zu erhalten, verwendet man den Index 0 $numbers[5].

$var = $numbers[5]

Dadurch wird der Wert an Index fünf in eine neue Variable kopiert. Möchten Sie „Wednesday“ aus einem Array namens lesen $days? Dann verwenden Sie einfach $days[2]. Beachten Sie, dass aufgrund der nullbasierten Zählung das erste Element 0 ist $days[0].

Sie können Array-Werte auch dynamisch ändern. Um beispielsweise das zweite Element auf Null zu setzen, gehen Sie wie folgt vor:

$numbers[1] = 0

Ganz einfach. Um neue Elemente zu einem bestehenden Array hinzuzufügen, verwenden Sie einfach `app` +=. Beispielsweise $names += "Johny"fügt `app` „Johny“ am Ende des $namesArrays hinzu. Oder um mehrere Elemente gleichzeitig hinzuzufügen: `app` $names += "Charlie", "Liam", "Teresa". Wenn Sie ein weiteres Array haben, beispielsweise `a`, `b`, `c`, `d`, `e`, `f`, `c`, ` $surnamesf $names += $surnames

Einfaches Durchlaufen von Arrays

Manchmal ist der manuelle Zugriff auf jedes Element mühsam, insbesondere wenn man mit allen Elementen etwas machen möchte. PowerShell bietet hierfür einige praktische Optionen. Die traditionelle for- Schleife sieht folgendermaßen aus:

for ($i = 0; $i -lt $days. Length; $i++) { $days[$i] }

Dies durchläuft jedes Element und führt die von Ihnen angegebenen Aktionen aus. Die foreach -Schleife ist noch eleganter und weniger fehleranfällig:

foreach ($day in $days) { $day }

Im Ernst, bei manchen Setups braucht man anfangs vielleicht noch die for- Schleife, aber sobald man sich an foreach gewöhnt hat, läuft alles viel reibungsloser.

Wann sind PowerShell-Arrays nützlich?

Das größte Problem beim Skripten ohne Arrays ist das Variablenchaos – viele eindeutige Variablennamen, die man leicht vergisst oder falsch referenziert. Arrays bündeln alle zusammengehörigen Daten in einem übersichtlichen Container, reduzieren Fehler und sorgen für sauberere Skripte. Das gilt insbesondere für die Automatisierung, wo Cmdlet-Ausgaben Objekte sind, die irgendwo gespeichert werden müssen – und Arrays sind dafür ideal. Denken Sie daran: Wenn Sie Daten von einem Cmdlet abrufen, wie z. B.PowerShell-Objekte, können Sie diese zur besseren Verarbeitung in ein Array umleiten.

Ja, anfangs ist es etwas ungewöhnlich, aber sobald man Arrays effektiv nutzt, werden Skripte in der Regel übersichtlicher und wartungsfreundlicher. Man sollte nur bei Datentypen und Indizes vorsichtig sein – PowerShell macht es einem natürlich unnötig schwer.



War dieser Artikel hilfreich?