Umleiten der Eingabe und Ausgabe Verfasst am: 02.12.2008, 09:53
Die Ein. und Ausgabe in Makros wird genauso umgeleitet wie in MS-DOS-Befehlen. Der einzige Unterschied besteht darin, dass Makros andere Zeichen erfordern:
$L (oder $1) Entspricht dem Kleiner-als-Zeichen (<). Er leitet die Eingabe
in einen Befehl um.
$G (oder $g) Entspricht dem Größer-als-Zeichen (>). Er leitet die Ausgabe
eines Befehls um.
$G$G (oder $g$g) Entspricht den zwei Größer-als-Zeichen (»). Er fügt die
Ausgabe am Ende einer Datei hinzu.
$B (oder $b) Entspricht dem Verkettungszeichen (. Er leitet die Ausgabe
von einem Befehl zu einem anderen um.
Der folgende Befehl beispielsweise erstellt einen Makro namens pdir, der Verzeichnisse druckt:
doskey pd1r.dir $g lptl,
Der folgende Befehl erstellt einen Makro namens mtype, der den Inhalt der angegebenen Datei anzeigt und zwischen jeder Bildschirmseite von Informationen anhält:
doskey mtype=type $1 $b more
Der folgende Befehl erstellt einen Makro namens asort, der den Inhalt der angegebenen Datei alphabetisch ordnet und die Informationen in einer anderen Datei speichert:
doskey asort=sort $1, $1 $g $2
Um diesen Makro auszuführen, geben Sie den Namen der zu ordnenden Datei ein. Doskey ersetzt den ersetzbaren Parameter $1 durch den ersten angegebenen Dateinamen bzw. Parameter. Das Zeichen $L leitet die Datei in den Befehl sort. Die Parameter $g und $2 leiten die Ausgabe des Befehls sort in die Datei mit dem zweiten angegebenen Parameter als Namen um.
Nach dem Erstellen des Makros asort könnten Sie beispielsweise folgendes eingeben:
asort eingabe.TXT ausgabe.TXT
Dies ist gleichbedeutend mit folgender Eingabe:
sort < eingabe.TXT > ausgabe,txt
Beim Definieren eines Doskey-Makros müssen Sie das Dollarzeichen ($) besonders kennzeichnen, wenn es an einer anderen Stelle als in Parametern, Befehlstrennzeichen und Umleitungszeichen vorkommt. Zur Kennzeichnung geben Sie anstelle von einem Dollarzeichen zwei Zeichen ein.
Ein Beispiel: Ihr Makro kopiert eine Datei in das Verzeichnis $&KONTO. In diesem Fall müssen Sie beim Definieren des Makros den Namen des Verzeichnisses als $$&konto eingeben. Bei der Ausführung des Befehls wird dann das Dollarzeichen als ein normales Zeichen und nicht als ein Bezeichner oder Parameter betrachtet. _________________