- Windows NT wird mit einer Skriptsprache ausgeliefert, die im Grunde ein
Superset des unter MS-DOS gewohnten Batch-Sprachumfangs ist.
- Windows-Anwendungen können aus der Kommandozeile oder über CMD-Skript mit verschiedenen Parametern aufzurufen werden. (z.B. durch die Eingabe des vollständigen "Dateinamens" oder über den Befehl: start "Programmname")
- Die NT-Kommandosprache besitzt im Gegensatz zu höheren
Programmiersprachen keine besonderen Regeln für den Aufbau. Es
müssen weder Variablen noch Unterfunktionen deklariert werden.
Skripts in der Kommandosprache werden im einfachsten Fall Zeile
für Zeile abgearbeitet (Batch=Stapel).
- Dennoch sollte innerhalb von Skripts auf
die Einhaltung einer sauberen Strukturierung und Dokumentation geachtet werden.
- Zur Dokumentation eines Skripts wird immer
durch das Kommando Rem eingeleitet.
- Die Ausgabe von textuellen Nachrichten erfolgen durch den Befehl Echo. Auf
diese Weise kann ein Benutzer über den Erfolg oder den Mißerfolg einer Aktion unterrichtet werden.
- "Echo off" sorgt für die Unterdrückung der Ausgabe aller Zeilen, mit Ausnahme jener Zeilen, die mit "Echo" beginnen.
- "@"-Zeichen vor das Kommando "Echo off"
gesetzt, wird auch diese Zeile selbst unterdrückt.
- Wird ein Punkt direkt hinter das Echo-Kommando gesetzt, erfolgt die
Ausgabe einer leeren Zeile.
- Absolute und bedingte Sprünge innerhalb von Skripts lassen
sich ähnlich wie unter Basic mit dem Befehl Goto
erreichen. Als Sprungziel wird eine Markierung verwendet, die
durch einen vorangestellten Doppelpunkt gekennzeichnet ist.
- Neben übergebenen Parametern können innerhalb von Skripts
Umgebungsvariablen verwendet werden. Z.B. %HOMEDRIVE%, %HOMEPATH%, %USERNAME%, %USERDOMAIN%, %USERPROFILE%... .
Auch das Setzen von Umgebungsvariablen ist über den Set-Befehl möglich. Hierbei sollte jedoch beachtet werden, daß die in einer NT-Shell gesetzten Variablen nur für
den Kontext der Shell gültig sind. Eine weitere NT-Shell hat
keinen Zugriff auf diese neue Umgebungsvariable.
- Der If-Befehl ermöglicht die Ausführung von Kommandos
in Abhängigkeit zu bestimmten Ereignissen. Ist eine If-Bedingung
erfüllt, so wird der Rest der Zeile ausgeführt. Andernfalls
wird der Befehl in der nächsten Zeile verwendet. Hierdurch ist
es möglich die Existenz (if [not] exists) von Dateien , Verzeichnissen, Geräten,
Variablenwerten, Zeichenfolgen oder Rückgabewerten (errorlevel, 0 = O.K.) von
Programmen abzufragen.
- Ein direkter Aufruf von anderen Skripts aus einem Skript
führt u.U. zu Problemen, da das aufgerufene Skript zwar ausgeführt wird, jedoch nicht an die aufrufende Stelle im ersten Skript zurückkehrt.
Hierzu dient das Kommando: Call [Skriptnamen]. Der Call-Befehl bietet die Möglichkeit, daß nach der Ausführung des aufgerufenen Skripts an der Stelle weitergearbeitet wird, an der der Skriptaufruf stattgefunden hat.
Beipiel für eine Anmeldeskript-Datei