MS-DOS Forum

MS-DOS Forum
Anleitungen, Referenz aller DOS Befehle, Batch Dateien
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    MS-DOS Forum Foren-Übersicht -> Batch Programmierung
Autor
Nachricht
matthias





Übergabe von Befehlsparametern in Batch Dateien
Verfasst am: 04.05.2009, 17:46

In BAT-Ablaeufen sind oft variable Angaben erforderlich, die erst
mit dem jeweiligen Aufruf bestimmt werden sollen.
Dazu werden in der BAT-Datei "Platzhalter" eingebaut. Beim Start
einer BAT-Datei werden dann die aktuellen Werte einfach als zusaetzliche
Angaben in der Befehlszeile gemacht (Befehlsparameter).
Platzhalter bestehen aus einem Prozentzeichen mit der laufenden
Nummer des Befehlsparameters, also %1.....%9 (nur _eine_ Ziffer
moeglich).
Ein Beispiel (Datei EDR.BAT):
attrib -R %1
XEDIT %1
attrib +R %1
Aufruf:
EDR ANY.TXT
Hier wird vor dem Aufruf des Editors (XEDIT) der Schreibschutz der
angegebenen Datei entfernt und anschliessend wieder eingeschaltet.
DOS ersetzt Platzhalter jeweils bevor eine Zeile interpretiert
wird durch den entsprechenden Befehlsparamter. Auf diese Weise
kann praktisch alles in einem BAT-Ablauf variabel gemacht werden,
auch Befehle und Programm-Aufrufe.

Trennzeichen, Sonderzeichen

Zur Trennung von Befehlsparametern koennen auch Komma oder Semikolon
verwendet werden. Sie werden praktisch durch Leerzeichen
ersetzt. Leere Parameter koennen auf diese Weise NICHT uebergeben
werden, z.B.:
XXX.BAT A,,,B ergibt: %1=A, %2=B
Auch die Uebergabe eines Parameters, in dem Leerzeichen enthalten
sein sollen, ist nicht moeglich (Anfuehrungszeichen nutzen nichts)
Beisipel:
AAA.BAT "das Wort" ergibt: %1="das, %2=Wort"
Achtung: Das Gleich-Zeichen (=) gilt ebenfalls als Trennzeichen,
wird also wie ein Leerzeichen behandelt!
Zum Ausprobieren empfiehlt es sich, eine TEST.BAT zu schreiben,
die einfach 9 ECHO-Befehle enthaelt:
ECHO %1
ECHO %2
(etc.)
Parameter %0

Mit %0 kann man im BAT-Ablauf den Namen der BAT-Datei ansprechen,
genauer gesagt, den Befehl, so wie er beim Aufruf angegeben wurde.
Nur fuer spezielle Tricks zu gebrauchen.

SHIFT-Befehl

Kaum genutzt, aber der Vollstaendigkeit halber:
SHIFT verschiebt die Parameter-Liste nach links, d.h.
%0 faellt raus,
der bisherige %1 wird zu %0
%2 wird zu %1
und so weiter
Damit kann auch der zehnte Parameter erreicht werden (jetzt also
%9). SHIFT kann bei Bedarf wiederholt werden.

Weitere Themen

Variable Befehlsparameter koennen erst richtig eingesetzt werden,
wenn man abfragen und verzweigen kann. Dazu gibt's Bedingungen
(IF), GOTO und Labels.
_________________
 
Neues Thema eröffnen   Neue Antwort erstellen    MS-DOS Forum Foren-Übersicht -> Batch Programmierung

Tags: batch, parameter, dos, datei, befehle, befehlsparameter

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Suchen von Text mit dem Befehl find 990 22.08.2009, 06:18
Keine neuen Beiträge Steuern der Bildschirmanzeige mit dem Befehl more 666 15.08.2009, 09:37
Keine neuen Beiträge Umleiten der Eingabe für einen Befehl 698 02.08.2009, 18:14
Keine neuen Beiträge Der Befehl Restore funktioniert nicht 1216 08.12.2008, 08:39
Keine neuen Beiträge Der Befehl Undelete funktioniert nicht 1929 01.12.2008, 09:32
 



[ Time: 0.2615s ][ Queries: 59 (0.0361s) ][ GZIP on - Debug on ]