Stapelverarbeitungsdateien (Batch-Files)

Ähnliche Dokumente
Stapelverarbeitungsdateien

Geben Sie HELP "Befehlsname" ein, um weitere Informationen zu einem bestimmten. Zeigt Dateierweiterungszuordnungen an bzw. ändert sie.

[ Batchman ] Batch-Dateien selbstgemacht. Einleitung Batch-Befehle Praktische Beispiele Tips & Tricks. Einleitung:

Ultimative Batch-Programmierungsreferenz V1.0

Batch-Skript(Crashkurs)

Mifas unter Windows 2000 installieren

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1

2017/01/23 15:50 1/5 Bedienung

Brainfuck Interpreter für ZX81

Einleitung: Willkommen zum Grundkurs MS-DOS/PC-DOS. Kapitel 1: Der Personalcomputer 9

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einführung Ein paar Grundbegriffe Einführung in die Hardware 20

Drucken und Löschen von angehaltenen Druckaufträgen Erkennen von Formatierungsfehlern Bestätigen von Druckaufträgen Reservieren von Druckaufträgen

Einrichten des EMS-Speichers

Arbeiten mit der Shell Teil 1

Automatisierte Sicherung per Robocopy - Dienst auf externe Festplatte

REXX. Was ist REXX. Scriptsprache für viele Plattformen Erste Schritte F. Hodel os2.a-net.ch

Klonen von Windows mit WinPE und ImageX

MS-DOS 5.0. Wirkungsweise: Liefert Online-Informationen zu den Befehlen von MS-DOS 5.0

Anleitung SPCsoft für SPC2200

Modul Teil 1. (Workshop Grundlagen zum Thema DOS - Batch)

Ekkehard Kaier. Informationstechnische Grundbildung MS-DOS

Batchprogramme für DOS und WINDOWS

Arbeiten mit Batch-Dateien

Druckprogramm Begleitscheine Seite 1

BAV-Remote Skript L.Pagel

HBF IT-Systeme. BBU-BSK Übung 4 Stand:

Verwenden der Druck- und Zurückhaltefunktion

Systemverwaltung mittels Skripts

1. Einführung in DR DOS

Datei kopieren / verschieben. Prinzip:

Anleitung. In Bild und Wort. Startmeldungen an den Kreis. Version 9.1

H. Tornsdorf М. Tornsdorf. Das große Buch zu

Unix-Grundkurs 1. Thema heute: Shell-Skripten

Klonen von Windows mit WinPE, DISM und IMAGEX

hue12 January 24, 2017

Inhaltsverzeichnis. Übertragen von DOS-/AVAIL-Dateien in PC-DMIS Übertragen von DOS-/AVAIL-Dateien in PC-DMIS: Einführung...

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT

Druckprogramm Begleit- und Übernahmescheine Seite 1

Informationen zur Durchführung von Software-Updates

Inhalt: Vorbereitungen Seite 2. Los gehts (kleines Beispiel für Blitzer POI's in allen Marken) Seite 3

Kommandozeile und Batch-Dateien. Molekulare Phylogenetik Praktikum

Preisanpassungs-Modul

Einzelne Textbausteine können einem oder auch mehreren Artikeln über die Textbaustein-Nummer zugeordnet werden.

Mit dieser kleinen Adapter-Platine können HD44780 kompatible LCD-Displays am I2C-Bus betrieben werden.

Modellbahn-Steuerung. Teil 4: Programminstallation und Programmsteuerung

1.3 Handhabung eines Programmiersystems

Um Batch programmieren zu lernen, gibt es sicherlich viele Möglichkeiten, doch der Einstieg ist schnell geschafft

Becker Content Manager Inhalt

Crashkurs Kommandozeile

Modell Bahn Verwaltung. Tutorial. Decoder Datei. Min. Programm Version 0.65, März w w w. r f n e t. c h 1 / 10

Verwenden der Druck- und Zurückhaltefunktion 1

Shell-Scripting Linux-Kurs der Unix-AG

Bash-Scripting Linux-Kurs der Unix-AG

Installieren von ProdLogg

Informationen zur Durchführung von Software-Updates

MODELL EL-9900 RECHNER MIT GRAFIK- FUNKTION BEDIENUNGSANLEITUNG

Benutzerhandbuch. Leibniz-Institut für Pflanzengenetik und Kulturpflanzenforschung Corrensstraße Gatersleben

EEP Ressourcen Switch. Benutzerhandbuch August 2017

Es können mehrere Kommandos in der Kommandozeile eingegeben werden Kommandoverkettung.

Übung - Installation von Windows Vista

GTR Programm: Lexikon

Der Bootloader von Windows 2000 / XP

Funktionen nur wenn dann

Zugriffsrechte. anzeigen lassen mit dem Befehl: ls -l

Informationen zur Durchführung von Software-Updates

Zahlenraten: Ein Spiel in Java.

Klonen von Windows mit WinPE und ImageX

MMC/SD FAT 16 mit AVR und C

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

Installationsanleitung ARCHICAD 20 Studentenversion

06 While-Schleifen. While-Schleifen 1/7 Wiederholung: Schleifen

Shellkurs Shell, SSH, Skripte... Justus Pfannschmidt, Carola Bothe, Samuel Domiks Freie Universität Berlin

SelfLinux Dateien unter Linux

Drucken in Success! V7.1

Shell-Scripting Linux-Kurs der Unix-AG

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte

Informatik Erste Schritte mit MATLAB

Grundlagen der Informatik Vorlesungsskript

Linux-Einführung Übung

Die Installation. Die unterschiedlichen Versionen. Die FUNKT!ONIERTeinfach-Software ist in vier Versionen erhältlich:

SYMPTOME U. a.: Wenn man nach der Datensicherung wieder mit dem ColorManager arbeiten will, kommt die Meldung. auf Deutsch oder.

1. IO.SYS 2. MDOS.SYS 3. CONFIG.SYS und AUTOEXEC.BAT *.INI Dateien 6. Quellen

BASIC Tutorial für Anfänger

Installationsanleitung ARCHICAD 21 Studentenversion

Computer & GNU/Linux Einführung Teil 4

Das Betriebssystem MS-DOS

Desktop Hintergrund einrichten.

Grundkurs Teil 2. Senioren-Computerclub-Dulach Bienleinstorstr. 22 Dienstags von 10:00 bis 12:00 Uhr G.B.

Transkript:

"Peter Reich-Rohrwig" <prr@gmx.net> Stapelverarbeitungsdateien (Batch-Files) Spezialgebiet für Informatik Peter Reich-Rohrwig, 8B

Stapelverarbeitungsdateien (eng. batch-files) führen einfache DOS- Befehle aus, wie bei der normalen DOS-Eingabeaufforderung (eng. DOSprompt). Der DOS-Prompt dient als einfacher Interpreter. Ein Interpreter übersetzt einen eingegebenen Befehl sofort in die Maschinensprache, Zeile für Zeile. Der DOS-Befehlsinterpreter ist normalerweise die Datei command.com, die beim Betriebssystemstart in den Speicher geladen wird. Batch-Dateien sind einfache ASCII-Dateien, die die Erweiterung BAT haben (namen.bat). In einer Batch-Datei können wie beim DOS-Prompt sowohl Programme, als auch interne Befehle, die im Befehlsinterpreter vorhanden und in den Speicher geladen sind, aufgerufen werden. Die Programme, die mit DOS mitgeliefert und mitinstalliert sind und in ihrer Erscheinungsart wie der DOS-Prompt sind (sie haben keine grafische Oberfläche, verlangen eventuell Parameter und geben das Ergebnis kryptisch am Prompt aus), nennt man auch externe Befehle. Unter den normalen DOS-Befehlen gibt es einige, die vor allem in Stapelverarbeitungsdateien verwendet werden und dort auch den meisten Sinn machen: Befehl Typ Beschreibung :: intern Leitet eine Kommentarzeile ein, die nicht verarbeitet wird (siehe auch Rem). Da es kein richtiger Befehl ist, erfolgt das Übergehen der entsprechende Zeile schneller (zumindest auf sehr alten Rechnern). @ intern Der Befehl, der diesem Zeichen folgt, wird nicht angezeigt (siehe auch Echo). 1 Call intern Ruft eine andere Batch-Datei auf. Nach deren Beendigung wird die ursprüngliche Datei weiterverarbeitet. 2 Choice extern Der Benutzer wird aufgefordert, eine Wahl zwischen vorgegebenen Möglichkeiten zu treffen. Echo intern Zeigt eine Nachricht an oder schaltet die Anzeigefunktion in Batch-Dateien an oder ab (siehe auch @). 1 For Intern Führt den angegebenen Befehl für eine Gruppe von Dateien oder Verzeichnissen aus (Schleife). Goto intern Springt zu einer andern Stelle in der Batch-Datei und setzt dort mit der Befehlsverarbeitung fort. If intern Führt einen Befehl abhängig von einer Bedingung aus. Pause intern Hält die Stapelverarbeitung an, bis eine Taste gedrückt wird. Rem intern Leitet eine Kommentarzeile ein, die nicht verarbeitet wird (siehe auch ::). Shift intern Ändert die Position der austauschbaren Parameter. 1 Normalerweise werden alle Befehle wie am DOS-Prompt angezeigt (siehe @, Echo). 2 Wenn von einer Batch-Datei eine andere ohne Call aufgerufen wird, wird mit der Stapelverarbeitung nach dem Ende der 2. Datei aufgehört 2

Schreiben, Ausführen und Stoppen einer Batch-Datei Eine Stapelverarbeitungsdatei kann mit jedem Editor, der auch ohne Formartierungen speichern kann ( Nur-Text ), geschrieben werden. Die Datei muss im ASCII-Format sein und die Erweiteung BAT haben. Ausgeführt werden sie wie jedes Programm unter DOS, indem man einfach den Namen eingibt, mit oder ohne Erweiterung. Stehen im Verzeichnis allerdings gleichnamige COModer EXE-Dateien, so werden diese bei Eingabe ohne Erweiterung ausgeführt. Durch Drücken von Strg+C oder Strg+Untbr wird die Verarbeitung angehalten und eine Nachricht angezeigt, ob man fortfahren oder abbrechen will. Beispiel für den Aufbau einer einfachen Batch-Datei Beisp1.bat c: dir /on /w /p Dieses Programm wechselt auf die Startpartition der Festplatte (c:) in das Wurzelverzeichnis () und zeigt die Dateien in alphabetischer Reihenfolge über die gesamte Bildschirmbreite Seite für Seite (dir /on /w /p) an. Anzeige am DOS-Prompt: C:\>Beisp1 C:\>c: C:\>cd\ C:\>dir /on /w /p Datenträger in Laufwerk C: FESTPLATTE Seriennummer des Datenträgers: 3A15-1D08 Verzeichnis von C:\ [ABLAGE] AUTOEXEC.VS AUTOEXEC.BAT BEISP1.BAT [BP] COMMAND.COM CONFIG.SYS [EIGENE~1] [GAMES] IEDKCS32.WMP JSPROXY.WMP MSDOS.SYS [NC] NETLOG.TXT [PROGRA~1] SCANDISK.LOG SETUPXLG.TXT [UTIL] [WINDOWS] 11 Datei(en) 334.819 Bytes 8 Verzeichnis(se) 94.240.768 Bytes frei C:\> C:\> 3

Funktionsweise der Batch-Befehle @, Echo, ::, Rem Im obigen Beispiel wird vor dem Ausführen der einzelnen Befehle der Befehl selber am DOS-Prompt angezeigt, was unschön ist. Daher verwendet man am besten. Mit :: bzw. Rem kann man noch einen erklärenden Kommentar dazugeben. Beisp2.bat c: Rem Wechselt auf Laufwerk C dir /on /w /p Anzeige am DOS-Prompt: C:\>Beisp2 Das Wurzelverzeichnis der Startpartition sieht so aus: Datenträger in Laufwerk C: FESTPLATTE Seriennummer des Datenträgers: 3A15-1D08 Verzeichnis von C:\ [ABLAGE] AUTOEXEC.VS AUTOEXEC.BAT BEISP2.BAT [BP] COMMAND.COM CONFIG.SYS [EIGENE~1] [GAMES] IEDKCS32.WMP JSPROXY.WMP MSDOS.SYS [NC] NETLOG.TXT [PROGRA~1] SCANDISK.LOG SETUPXLG.TXT [UTIL] [WINDOWS] 11 Datei(en) 334.830 Bytes 8 Verzeichnis(se) 94.240.768 Bytes frei C:\> Durch Echo Off wird die Anzeige der Befehle unterdrückt, durch @ wird die Anzeige des Befehls Echo Off unterdrückt. Die Zeilen mit :: und Rem werden nicht verarbeitet. Ansonsten würde es eine Fehlermeldung wegen unbekannter Befehle geben. Der Befehl gibt eine leere Zeile aus, mit einer Nachricht als Parameter zeigt er diese an. Call Mit Call können Batch-Dateien untereinander verschachtelt werden. autoexec.bat (eine Batch-Datei, die beim Booten aufgerufen wird). 4

.. LH C:\DOS\MOUSE.COM Call Beisp2.bat Win Von der autoexec.bat wird die Datei Beisp2.bat aufgerufen, mit der das Wurzelverzeichnis angezeigt wird. Anschließend wird Windows gestartet. If, Goto If führt einen Befehl unter bestimmten Bedingungen aus, Goto springt zu einer bestimmten Stelle im Stapel: Beisp3.bat c: Rem Wechselt auf Laufwerk C dir /on /w /p Durch das If wird überprüft, ob der erste Parameter (%1) ungleich (not) dir ist. Ist dies der Fall, springt die Ausführung durch Goto End zu ; der dazwischen liegende Teil wird nicht verarbeitet. Choice, if errorlevel, if exist Choice stellt den Benutzer vor eine Auswahl, if errorlevel fragt den Ausgabewert eines Befehls ab und if exist stellt fest, ob es die angegebenen Dateien überhaupt gibt: Beisp4.bat Choice /c:ac /t:c,5 Dateien am Laufwerk A oder C if errorlevel 1 a: if errorlevel 2 c: Rem Wechselt das Laufwerk if exist *.* dir /on /w /p if not exist *.* echo Keine Dateien 5

Durch den Parameter /c:auswahlmöglichkeiten von Choice werden die Auswahlmöglichkeiten festgelegt. Durch /t:auswahlmöglichkeit,nn wird die Standard-Wahl und das Timeout festgelegt. Choice liefert für die Wahl den entsprechenden Rückwert, der von if errorlevel erfragt, das den dementsprechenden Befehl aufruft. If errorlevel ist dann war, wenn der Rückwert größer oder gleich dem angegebenen ist. Mit if exist *.* wird überprüft, ob es überhaupt Dateien in dem Verzeichnis gibt. Anzeige am DOS-Prompt: C:\>Beisp4 dir Dateien am Laufwerk A oder C[A,C]?C Das Wurzelverzeichnis der Startpartition sieht so aus: Datenträger in Laufwerk C: FESTPLATTE Seriennummer des Datenträgers: 3A15-1D08 Verzeichnis von C:\ [ABLAGE] AUTOEXEC.VS AUTOEXEC.BAT BEISP4.BAT [BP] COMMAND.COM CONFIG.SYS [EIGENE~1] [GAMES] IEDKCS32.WMP JSPROXY.WMP MSDOS.SYS [NC] NETLOG.TXT [PROGRA~1] SCANDISK.LOG SETUPXLG.TXT [UTIL] [WINDOWS] 11 Datei(en) 335.132 Bytes 8 Verzeichnis(se) 89.755.648 Bytes frei C:\> For Der Befehl for führt einen Befehl für eine Gruppe von Dateien oder Verzeichnissen aus: Beisp5.bat Choice /c:ac /t:c,5 Dateien am Laufwerk A oder C if errorlevel 1 a: if errorlevel 2 c: Rem Wechselt das Laufwerk if exist *.* dir /on /w /p if not exist *.* echo Keine Dateien for %%f in (*.bat) do type %%f 6

Das for %%f in (Gruppe) do Befehl %%f bewirkt, das alle Dateien mit der Erweiterung TXT durch type ausgegeben werden. Anzeige am DOS-Prompt: C:\>beisp5 dir Dateien am Laufwerk A oder C[A,C]?C Das Wurzelverzeichnis der Startpartition sieht so aus: Datenträger in Laufwerk C: FESTPLATTE Seriennummer des Datenträgers: 3A15-1D08 Verzeichnis von C:\ [ABLAGE] AUTOEXEC.VS AUTOEXEC.BAT BEISP5.BAT [BP] COMMAND.COM CONFIG.SYS [EIGENE~1] [GAMES] IEDKCS32.WMP JSPROXY.WMP MSDOS.SYS [NC] NETLOG.TXT [PROGRA~1] SCANDISK.LOG SETUPXLG.TXT TXT.TXT [UTIL] [WINDOWS] 12 Datei(en) 335.172 Bytes 8 Verzeichnis(se) 89.624.576 Bytes frei @ECHO OFF LH C:\UTIL\TREIBER\KBD\KBD.COM >nul SET COMSPEC=C:\COMMAND.COM SET BLASTER=A220 I5 D1 H5 P330 T6 SET MIDI=SYNTH:1 MAP:E SET TEMP=C:\WINDOWS\TEMP SET TMP=C:\WINDOWS\TEMP PROMPT $P$G SET PATH=C:\NC;C:\;D:\;C:\BP\BIN;C:\BP\DOS\UTIL;C:\BP\ \DOS\TPROF;C:\UTIL;C:\PROGRA~1\ULTRAEDT; SET QTJava=C:\WINDOWS\SYSTEM\QTJava.zip SET CLASSPATH=%QTJava%; Choice /c:ac /t:c,5 Dateien am Laufwerk A oder C if errorlevel 1 a: if errorlevel 2 c: Rem Wechselt das Laufwerk if exist *.* dir /on /w /p if not exist *.* echo Keine Dateien for %%f in (*.bat) do type %%f 7

C:\> Shift, Pause Shift kopiert jeden Parameter des Batch-Programmes in den vorigen. So wird z.b. %1 in %0 kopiert. Da DOS nur 10 Parameter zulässt (der erste, %0, ist das Programm selbst) kann durch shift diese Einschränkung umgangen werden. Beisp6.bat Choice /c:ac /t:c,5 Dateien am Laufwerk A oder C if errorlevel 1 a: if errorlevel 2 c: Rem Wechselt das Laufwerk if exist *.* dir /on /w /p if not exist *.* echo Keine Dateien for %%f in (*.bat) do type %%f echo Vollständiger Programmaufruf: :Para echo %0 if %1 == goto END shift goto Para Pause Das shift kopiert jeden Parameter in den vorigen, bis es keine mehr gibt. so können beliebig viele Parameter verwendet werden, und nicht nur 9. Pause hält das Programm bis zu einem Tastendruck an. Anzeige am DOS-Prompt: C:\>beisp6 dir Dateien am Laufwerk A oder C[A,C]?C Das Wurzelverzeichnis der Startpartition sieht so aus: Datenträger in Laufwerk C: FESTPLATTE Seriennummer des Datenträgers: 3A15-1D08 Verzeichnis von C:\ [ABLAGE] AUTOEXEC.VS AUTOEXEC.BAT BEISP6.BAT [BP] COMMAND.COM CONFIG.SYS [EIGENE~1] [GAMES] IEDKCS32.WMP 8

JSPROXY.WMP MSDOS.SYS [NC] NETLOG.TXT [PROGRA~1] SCANDISK.LOG SETUPXLG.TXT TXT.TXT [UTIL] [WINDOWS] 12 Datei(en) 335.172 Bytes 8 Verzeichnis(se) 89.624.576 Bytes frei @ECHO OFF LH C:\UTIL\TREIBER\KBD\KBD.COM >nul SET COMSPEC=C:\COMMAND.COM SET BLASTER=A220 I5 D1 H5 P330 T6 SET MIDI=SYNTH:1 MAP:E SET TEMP=C:\WINDOWS\TEMP SET TMP=C:\WINDOWS\TEMP PROMPT $P$G SET PATH=C:\NC;C:\;D:\;C:\BP\BIN;C:\BP\DOS\UTIL;C:\BP\ \DOS\TPROF;C:\UTIL;C:\PROGRA~1\ULTRAEDT; SET QTJava=C:\WINDOWS\SYSTEM\QTJava.zip SET CLASSPATH=%QTJava%; Choice /c:ac /t:c,5 Dateien am Laufwerk A oder C if errorlevel 1 a: if errorlevel 2 c: Rem Wechselt das Laufwerk if exist *.* dir /on /w /p if not exist *.* echo Keine Dateien for %%f in (*.bat) do type %%f echo Vollständiger Programmaufruf: :Para echo %0 if %1 == goto END shift goto Para Pause Vollständiger Programmaufruf: beisp6 dir Weiter mit beliebiger Taste... C:\> Komplexeres Batch-Programm Erklärungen befinden sich im Programm vor den entsprechenden Zeilen (hinter den ::). Die for Methode wäre für den Befehl del nicht nötig, zeigt aber gut die Art, wie sie verwendet werden kann. 9

Beisp7.bat @Echo OFF REM Lösch-Batch-Datei :: Zeigt Begrüßungstext an Echo Willkommen bei der Dateien-Löschen-Batch-Datei :: Geht bei richtigen Parameter zu Loeschen if "%1" == "e" goto Loeschen if "%1" == "g" goto Loeschen :: Geht ansonsten zur Hilfe goto Hilfe :Loeschen :: Fragt vor dem Löschen noch einmal choice /c:jn /t:n,10 Sind Sie sicher? :: Wenn nein, dann zum Ende if errorlevel 2 goto end :: Geht zum Gruppen- bzw. zum Einzel-Löschen goto %1 :e :: Verschiebt Parameter in den vorherigen shift :: überprüft, ob Datei vorhanden :: Wenn nicht, dann Fehlermeldung if not exist %1 echo %1 nicht gefunden! :: Wenn ja, dann Lösch-Meldung if exist %1 echo %1 wird gelöscht... :: Löscht Datei (wenn existent) if exist %1 del %1 :: Wenn noch ein Parameter, dann noch einmal if not "%2" == "" goto e :: Meldung, dass alles gelöscht echo. echo Alle Dateien gelöscht :: Weil fertig zum Ende goto End :g :: Verschiebt Parameter in den vorherigen shift :: überprüft, ob Datei vorhanden :: Wenn nicht, dann Fehlermeldung if not exist %1 echo %1 nicht gefunden! :: Wenn ja, dann Lösch-Meldung if exist %1 echo %1 wird gelöscht... :: Lösch Gruppe der Dateien (wenn existent) 10

if exist %1 for %%f in (%1) do del %%f :: Wenn noch ein Parameter, dann noch einmal if not "%2" == "" goto g :: Meldung, dass alles gelöscht echo. echo Alle Dateien gelöscht :: Weil fertig zum Ende goto End :Hilfe :: Zeigt Hilfetext an echo Dieses Programm löscht Dateien echo Parameter: echo e... Einzelne, beim Namen gennante Dateien echo g... Dateigruppen werden gelöscht (*.???) :: Und ab zum Ende goto End :: Leerzeile echo. :: Auf Tastendruck warten pause :: Bildschirm löschen cls 11