PowerShell

Die Windows PowerShell ist eine von Microsoft entwickelte Alternative zum Windows-Kommandozeilenprogramm cmd.exe und zum Windows Script Host. Eine Übersicht und Links zu Download-Seiten gibt z.B. folgender Wikipedia-Artikel.

Das Besondere an der PowerShell – und der Grund, warum ein Eintrag darüber durchaus in den Megos .NET-Weblog passt – ist die enge Integration mit dem .NET-Framework.

Die Resultate eines Kommandos in der PowerShell bestehen nicht wie in anderen Shells einfach aus dem Text, der im Konsolenfenster angezeigt oder mit Hilfe einer „Pipe“ an ein nächstes Kommando weitergereicht wird, sondern aus Objekten des .NET-Frameworks.

Da diese Objekte meist doch wieder zu Text verwandelt werden, da sich der Anwender ja keine Objekte direkt ansehen kann, fällt dies zunächst kaum auf, aber es ergeben sich erstaunliche Möglichkeiten bei der Formulierung von Kommandos.

Nur ein ganz kleines Beispiel: Folgendes Kommando

$env:path

liefert den Wert der Umgebungsvariablen path, aber eben nicht einfach als Text, sondern in Form eines Objekts vom Typ System.String. Das hat zur Folge, dass man den Wert mit allen Methoden dieser Klasse weiterverarbeiten kann. So liefert folgendes Kommando

$env:path.Split(";")

eine übersichtliche Liste mit 1 Directory-Namen aus dem Pfad pro Zeile. Und so geht es weiter: Diese Liste ist wiederum kein Text, sondern eben das, was String.Split zurückgibt, nämlich ein String-Array. Darum finden Sie mit

$env:path.Split(";").Count

heraus, wieviele Directories Ihr Suchpfad listet.

Das soll jetzt kein Wettbewerb werden im Stile von „Meine Shell ist besser als Deine Shell“, und natürlich formuliert ein alter Linux-Hase ohne Probleme ein Shell-Kommando, das mit Hilfe von sed und wc (oder was auch immer) dasselbe macht. Aber wenn Sie das hier lesen, kennen Sie wahrscheinlich schon das .NET-Framework und seine Klassen, und es könnte sein, dass Sie sich darum nach dem Nehmen einer ersten Hürde schnell in der PowerShell zurechtfinden und Sie plötzlich .NET nutzen können an einem Ort, wo Sie das bisher nicht konnten, nämlich auf einer Windows-Kommandozeile.

Veröffentlicht in Keine Kategorie. Leave a Comment »

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: