18
Batch-Programmierung Grundlagen Batch-Programmierung Grundlagen 1 Sebastian Röhl, 28.06.2001 Sebastian Röhl, 28.06.2001

1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Embed Size (px)

Citation preview

Page 1: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

11

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001

Page 2: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

28.06.028.06.011

[email protected]@rrze.uni-erlangen.de

Sebastian RöhlSebastian Röhl

Batch-Batch-ProgrammierungProgrammierung

GrundlagenGrundlagen

Page 3: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

33

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001GliederungGliederung

Was ist Batch?Was ist Batch? Grundlegende BefehleGrundlegende Befehle

- Kommentare - Kommentare („Rem“; „::“)(„Rem“; „::“)

- Bildschirmausgaben - Bildschirmausgaben („Echo“)(„Echo“)

- Unterbrechungen - Unterbrechungen („Pause“)(„Pause“)

- Sprungbefehle und Sprungmarken - Sprungbefehle und Sprungmarken („Goto“ („Goto“ <Label>)<Label>)

- Unterprogrammaufrufe - Unterprogrammaufrufe („Call“)(„Call“)

BefehlsparameterBefehlsparameter Was sind „Errorlevel“?Was sind „Errorlevel“? BedingungenBedingungen

Page 4: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

44

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001

Was ist Was ist Batch?Batch?

MerkmaleMerkmale::- Batch-Datei muß die Endung „Batch-Datei muß die Endung „BATBAT“ “

habenhaben- In Windows und DOS standardmäßig In Windows und DOS standardmäßig

integriertintegriert- Zum Erstellen wird ein ASCII-Editor Zum Erstellen wird ein ASCII-Editor

benötigt (z. B. „Notepad“, „Edit“)benötigt (z. B. „Notepad“, „Edit“)- Befehle werden Zeilenweise Befehle werden Zeilenweise

nacheinander abgearbeitetnacheinander abgearbeitet

Page 5: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

55

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001„„Rem“ oder „::“Rem“ oder „::“

Definition:Definition: Der Befehl „Rem“ bzw „::“ Der Befehl „Rem“ bzw „::“ erklärt einen Text erklärt einen Text

zum zum KommentarKommentar

Kommentare werden Kommentare werden nicht nicht auf dem auf dem Bildschirm angezeigtBildschirm angezeigt

Vorteil von „::“Vorteil von „::“

Es Können alle Zeichen für Kommentare Es Können alle Zeichen für Kommentare Verwendet werden auch „<“ „>“ „|“Verwendet werden auch „<“ „>“ „|“

Page 6: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

66

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001„„Echo“ und „@Echo“Echo“ und „@Echo“

Definition:Definition: Der Befehl „Echo“ legt fest was auf Der Befehl „Echo“ legt fest was auf dem dem

Bildschirm ausgebeben wirdBildschirm ausgebeben wird

„„Echo On“Echo On“ „Echo Off“„Echo Off“ „@Echo Off“„@Echo Off“

(Standard)(Standard) AnzeigeAnzeige keine Anzeige keine Anzeige keine Anzeige keine Anzeigeder Eingabender Eingaben der Eingabender Eingaben der Eingabender Eingaben

auch nicht desauch nicht desEcho-BefehlsEcho-Befehls

Durch „Echo“ <Text> wird der <Text> hinter „Echo“ ausgegebenDurch „Echo“ <Text> wird der <Text> hinter „Echo“ ausgegebenBei „Echo On“ werden Eingaben vor denen ein „@“ ist Bei „Echo On“ werden Eingaben vor denen ein „@“ ist

ausgeblendetausgeblendet

Page 7: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

77

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001„„Pause“Pause“

Definition:Definition: Der Befehl „Pause“ Der Befehl „Pause“ stoppt stoppt den Batch-Ablaufden Batch-Ablauf

Es wird immer die MeldungEs wird immer die Meldung

„„Weiter mit beliebiger Taste“Weiter mit beliebiger Taste“

ausgegebenausgegeben

Page 8: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

88

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001„„Goto“ <Label>Goto“ <Label>

Definition:Definition: Durch den Befehl „Goto“ wird zu Durch den Befehl „Goto“ wird zu einem beliebigen <Label> einem beliebigen <Label>

gesprungen.gesprungen.

Ein <Label> wird durch einen Ein <Label> wird durch einen

vorangestellten „:“ gekennzeichnetvorangestellten „:“ gekennzeichnet

Page 9: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

99

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001

„„Call“ Call“ <Datei><Datei>

Definition: Durch den Befehl „Call“ <Datei> werdenuntergeordnete Batch-Dateien aufgerufen

Nur Call-Befehl verwenden sonst kein Rücksprung inursprüngliche Batch-Datei

Page 10: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

1010

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001BefehlsparameterBefehlsparameter „%1, %2“... „%1, %2“...

In Batch-Abläufen sind oft variable Angaben In Batch-Abläufen sind oft variable Angaben erforderlich, die erst mit dem jeweiligen erforderlich, die erst mit dem jeweiligen Aufruf bestimmt werden sollen. Dazu Aufruf bestimmt werden sollen. Dazu werden in die Batch-Datei Platzhalter werden in die Batch-Datei Platzhalter eingebaut, die beim Start mit den Werten eingebaut, die beim Start mit den Werten hinter der Befehlszeile ausgetauscht hinter der Befehlszeile ausgetauscht werden.werden.

„„%1 - %9“ möglich%1 - %9“ möglich

(Aufruf Test.bat)(Aufruf Test.bat) (Übergebene Parameter)(Übergebene Parameter)

Test A: B: C: ergibtTest A: B: C: ergibt %1 = A: %1 = A: %2 = B: %2 = B:

%3 = C:%3 = C:

Page 11: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

1111

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001

Page 12: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

1212

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001Errorlevel 0 ... 255Errorlevel 0 ... 255

Definition:Definition: Viele DOS-Programme liefern Viele DOS-Programme liefern beimbeim

Beenden einen sogenanntenBeenden einen sogenanntenErrorlevelErrorlevel

Merkmale:Merkmale: Kann die Werte 0 bis 255 annehmenKann die Werte 0 bis 255 annehmen Errorlevel 0 bedeutet ohne Fehler beendetErrorlevel 0 bedeutet ohne Fehler beendet Jeder Errorlevel beinhaltet auch die Jeder Errorlevel beinhaltet auch die

niedrigeren Errorlevel mit (d.h. 3 niedrigeren Errorlevel mit (d.h. 3 beinhaltet auch 2, 1 u. 0)beinhaltet auch 2, 1 u. 0)

Page 13: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

1313

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001Bedingungen „IF [not]“ ...Bedingungen „IF [not]“ ...

Bedingungen werden durch IF-Ausdrücke Bedingungen werden durch IF-Ausdrücke formuliertformuliert

Man unterscheidet drei Varianten:Man unterscheidet drei Varianten:

- IF [not] exist <Datei-Ausdruck>- IF [not] exist <Datei-Ausdruck>

- IF [not] errorlevel <n>- IF [not] errorlevel <n>

- IF [not] <1>==<2>- IF [not] <1>==<2> Nach einer Bedingung kann jede beliebige Nach einer Bedingung kann jede beliebige

Batch-Anweisung stehen (z.B. Goto, Call, Batch-Anweisung stehen (z.B. Goto, Call, Copy, etc...)Copy, etc...)

Batch-Anweisungen werden nur ausgeführt Batch-Anweisungen werden nur ausgeführt wenn die Bedingung wahr ist!!wenn die Bedingung wahr ist!!

Page 14: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

1414

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001

Page 15: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

1515

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001

Page 16: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

1616

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001

Page 17: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

1717

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001QuellenQuellen

Batch für EinsteigerBatch für Einsteiger MS DOS HandbuchMS DOS Handbuch Internet (verschiedene Seiten)Internet (verschiedene Seiten)

Kontakt:Kontakt:

[email protected]@rrze.uni-erlangen.deerlangen.de

Page 18: 1 Sebastian Röhl, 28.06.2001 Batch-Programmierung Grundlagen

Batch-Programmierung Batch-Programmierung GrundlagenGrundlagen

1818

Sebastian Röhl, 28.06.2001Sebastian Röhl, 28.06.2001