Link
Gegenüber was? VBScript oder der CMD-Shell?
OK, hier sind sie:
- Logische Befehlssyntax. Jeder Befehl, d.h. jedes CMDlet ist nach dem Prinzip VERB-SUBSTANTIV aufgebaut
- Stark ausgebautes Piping. Jeder Befehl kann über die Pipe ( | ) an andere Befehle übergeben werden (sofern sinnvoll, natürlich)
- Volle Unterstützung des .NET Frameworks, es ist aber trotzdem noch möglich mit den (veralteten) COM-Objekten zu arbeiten
- Weniger Code, der auch einfacher zu lesen ist als VBScript.
- Einfachere Verwendung von CSVs, XML und HTML. Genannt seien hier z.B. die CMDlets "Import-CSV", "Export-CSV" und "Convertto-HTML".
- Jeder Output ist als Objekte im RAM gespeichert, nicht wie der CMD-Shell als Text. Dazu hier ein Beispiel:
01.
$Textfile = get-content C:\test.txt
Diese Codezeile speichert den Inhalt des Textfiles C:\test.txt in einem Array mit dem Namen "$Textfile". Du musst also nicht eine ganze Funktion für das Einlesen eines Textfiles in ein Array schreiben, eine Codezeile verwenden. Jede Zeile eines Textfiles ist nun als Objekt in diesem Array gespeichert. Dieses Array kannst du nun z.B. in einer Foreach-Schleife weiterverwenden.
01.
foreach ($Linie in $Textfile) {write-host "Blabla"$Linie}
Diese Schleife gibt z.B. das Textfile zeilenweise, d.h. objektweise aus und schreibt vor jede Zeile den Text "Blabla". Es gibt natürlich noch andere Möglichkeiten....
Ausserdem ist die PowerShell Script Language stark an C# angelehnt, was den Umstieg auf diese sehr weit verbreitete Programmiersprache erleichert.
Wenn du ein umfassendes Beispielscript sehen willst, schau mal hier:
http://www.administrator.de/index.php?con ...