AZreferate - Referate und hausaufgaben fur schule.
Referatesuche, Hausarbeiten und Seminararbeiten Kostenlose Online-Dokumente mit Bildern, Formeln und Grafiken. Referate, Facharbeiten, Hausarbeiten und Seminararbeiten findest für Ihre einfache Hausarbeiten.



BetriebstechnikBiographienBiologieChemieDeutschDigitaltechnik
ElectronicaEpochenFertigungstechnikGemeinschaftskundeGeographieGeschichte
InformatikKulturKunstLiteraturManagementMathematik
MedizinNachrichtentechnikPhilosophiePhysikPolitikProjekt
PsychologieRechtSonstigeSportTechnikWirtschaftskunde

Referat Stapelverarbeitungsdateien

englisch referate

englisch referate

Stapelverarbeitungsdateien

INHALT

I.    Einleitung

.    Einfache Stapelverarbeitungsdateien

.    Einfache Batch File Befehle und Kommandos

.    Parameter in Batch Files

.    Weitere Batch File Befehle

.    Batch Files unter Windows

I.         Einleitung

Stapelverarbeitungsdateien sind unter MS-DOS/Windows ausführbare Dateien, die verschiedene DOS Befehle hintereinander ausführen können. Solche Dateien haben die Endung .BAT und werden mit einem einfachen ASCII Editor, wie zB der mit MS- DOS mitgelieferte Basic Editor EDIT, geschrieben. Dateien mit der Endung BAT können, genau wie solche mit den Endungen EXE und COM, direkt vom DOS-Prompt (C: >) ausgef hrt werden. Solche Dateien sind "executable", ausführbar.

In einer Stapelverarbeitungsdatei steht jede neue Zeile für einen neuen Befehl. Außer den Befehlen, die auch direkt unter DOS aufgerufen werden können (DIR, CDVerzeichnis, oder Dateien mit den Endungen COM und EXE) gibt es noch spezielle Befehle, die nur in Stapelverarbeitungsdateien, Englisch: Batch-Files, sinnvoll eingesetzt werden können (zB ECHO, CHOICE, IF [ERRORLEVEL] ).

Im Allgemeinen ähnelt die Programmierung von Batch Files, der Basic Programmierung, obwohl die meisten Basic Befehle nicht zur Verfügung stehen.

Das wichtigste Batch File ist das Autoexec bat, welches automatisch beim Hochfahren eines MS-DOS Computers ausgeführt wird.

.     Einfache Stapelverarbeitungsdateien

Jeder, der sich halbwegs mit MS-DOS und seinen Befehlen auskennt, ist grundsätzlich in der Lage Batch Files zu schreiben, da diese, wie gesagt, nur eine Aneinanderreihung von einzelnen DOS Befehlen sind.

Ich werde hier kurz erläutern, wie man ein Batch File erstellt.

man wechselt in ein Verzeichnis, auf das der Pfad in der AUTOEXEC BAT gesetzt ist (zB C:DOS), wenn man das Batch

File in jedem Verzeichnis benutzen k nnen soll.

man schreibt folgendes im DOS-Prompt: "EDIT Name.BAT", wobei [Name]r den Namen der Datei steht, mit dem die

Datei dann aufgerufen werden kann.

nun wird der Basic Editor geladen, der ab MS-DOS 5 0 mitgeliefert wird.

wenn der Editor geladen ist, kann man schon beginnen den ersten Befehl einzugeben (siehe Bsp. 1) und mit [ENTER]

wechselt man in die nächste Zeile, wo dann der zweite Befehl eingegeben wird, usw.

nachdem man alle Befehle zur Zufriedenheit eingegeben hat, beendet man den Editor, natürlich nicht ohne vorher die Datei zu speichern.

Bsp 1: Ein Beispiel, wie Batch Files unter DOS sinnvoll eingesetzt werden können.

D.BAT, ein Batch, welches den Inhalt eines Verzeichnisses mit Hilfe des Befehls DIR anzeigt. Im Batch File steht nur die folgende Zeile:

dir p o /a

Mit diesem Befehl werden alle Dateien des derzeitigen Verzeichnisses in alphabetischer Reihenfolge angezeigt, wobei nach jeder angezeigten Seite auf eine Bestätigung gewartet wird.

Wenn die Datei D BAT in C:DOS liegt, auf das der Pfad gesetzt ist, so kann man ab nun aus allen Verzeichnissen heraus diese Datei aufrufen. Man muß nur d" schreiben um alle Dateien mit Seitenumbruch und in alphabetischer Reihenfolge anzuzeigen und nicht mehr dir p o a . So kann man sich das navigieren unter DOS erheblich vereinfachen.

Einfache Batch File Befehle und Kommandos

Es gibt auch Befehle, die, wenn nicht in einem Batch File eingesetzt, keine Wirkung zeigen oder absolut sinnlos sind. Ein einfacher Befehl ist echo . Mit diesem Befehl können Texte in einem Batch File angezeigt werden.

Normalerweise werden alle Befehle, die in einem Batch File aufgerufen werden, am Monitor ausgegeben. Der Befehl echo off" verhindert dies, bis eine Zeile mit "echo on" im Batch File vorkommt, oder die Stapelverarbeitungsdatei durchgelaufen ist. Ein at-Zeichen ) am Beginn einer Zeile verhindert, daß diese eine Zeile am Bildschirm angezeigt wird.

Nehmen wir Bsp.1: Wenn in einem Verzeichnis d" eingegeben wurde sieht das Bild am Monitor so aus:

---Monitor --

C:> d -- Aufruf von D BAT aus MS-DOS C:> dir p o a - Erste Zeile von D.BAT wird angezeigt [Auflistung der Dateien im Verzeichnis C:]

C:>                                                            --- Batch File beendet, DOS bereitr weitere Eingaben

---Monitor --

Falls man die Datei D.BAT ein wenig modifiziert, so kann man verhindern, daß der Befehl dir p o /a" angezeigt wird. Die erste Zeile in D.BAT müßte so aussehen:

dir p o /a

bzw. man benützt echo off , dann braucht man schon zwei Zeilen:

echo off dir p o /a

So erhält man ein übersichtlicheres Bild, vor allem bei längeren Batch Files:

---Monitor --

C:> d -- Aufruf von D BAT aus MS-DOS

[Auflistung der Dateien im Verzeichnis C:]

C:>                                                            --- Batch File beendet, DOS bereitr weitere Eingaben

---Monitor --

ECHO (ON/OFF)

Wenn ECHO ausgeschalten ist echo off ) können auch einfache Meldungen ausgegeben werden. Syntax: ECHO [Meldung]

Mit echo." kann man eine leere Zeile anzeigen.

Man kann in D.BAT noch zwei Meldungen einbauen, vor und nach dem Aufruf vom DIR Befehl, um anzuzeigen wie weit das

Batch File abgelaufen ist.

echo off

echo Alle Dateien im Verzeichnis werden jetzt angezeigt:

echo --- Hier wird beim Ausführen eine leere Zeile eingef gt

dir /p o /a echo.

echo D.BAT beendet.

Folgendes Bild würde sich dann ergeben:

---Monitor --

C:> d -- Aufruf von D BAT aus MS-DOS

Alle Dateien im Verzeichnis werden jetzt angezeigt: - Meldung wird angezeigt

--- eine leere Zeile wird eingefügt

[Auflistung der Dateien im Verzeichnis C:]

--- eine leere Zeile wird eingefügt

D.BAT beendet. - zweite Meldung wird angezeigt

C:>                                                            --- Batch File beendet, DOS bereitr weitere Eingaben

---Monitor --

Sonderzeichen wie spitze Klammern können in Batch Files nicht angezeigt werden, weil diese eine andere Funktion erfüllen. (siehe unten)

CHOICE, GOTO

Ein weiterer spezieller Befehl für Batch Files ist choice . Eigentlich ist es ein selbstständiges Programm, das ab DOS 6 0 mitgeliefert wird. Dieser Befehl kann Tastatureingaben abfragen, um, je nach Eingabe, eine Verzweigung zu erzeugen oder einen Befehl auszuf hren. Eine ausführliche Beschreibung des Befehls findet man in der DOS-Hilfe.

Der choice Befehl wird hier an einem Beispiel erläutert:

---BSP.BAT-

echo off

echo [A] drücken, um Programm auszuführen

echo [B] drücken, um BSP.BAT zu beenden und zu DOS zurückzukehren

choice /c:AB n --- Hier wird auf eine Tastatureingabe von entweder "A" oder "B" gewartet

if errorlevel 2 goto ende     - - siehe Erklärung unten

if errorlevel 1 goto programm

programm --- ein Sprungziel wird mit einem Doppelpunkt markiert cdprogramm -- ins Verzeichnis mit dem Programm wechseln programm -- das Programm (EXE, COM oder BAT) ausführen goto ende

ende --- das Sprungziel am Ende der Datei beendet das Batch File

---BSP.BAT-

Erklärung zu if errorlevel: Falls choice den Fehlercode (Errorlevel) 2 zurückgibt, bedeutet das, daß "B" gedrückt wurde, da B an zweiter Stelle im choice Befehl angef hrt wurde (/c:AB) und das zum Sprungziel "ende" gesprungen werden soll goto ende). Falls aber A gedckt wurde, springt das Batch File zum Sprungziel "programm", um von dort aus weitere Befehle auszuführen.

Normale Programme geben nach dem Beenden keinen Errorlevel zurück. Falls aberhrend dem Ausführen ein Fehler

aufgetreten sein sollte, so geben die meisten Programme den Errorlevel 1 zurück. Somit kann man den weiteren Ablauf des

Batch Files von der erfolgreichen oder misslungenen Ausführung eines Programms abhängig machen.

IF (NOT) EXIST

Mit dem if exist" (bzw. if not exist ) Befehl läßt sich überprüfen, ob ein Verzeichnis, oder eine Datei existiert.

echo off

if exist c:doschoice.com echo Choice gefunden - Batch File kann ausgeführt werden!

if not exist c:doschoice.com echo Choice NICHT gefunden - Batch File wird beendet!

if not exist c:doschoice.com goto ende

Diese Zeilen überpfen, ob das DOS Zusatzprogramm choice installiert wurde und falls dies nicht der Fall sein sollte, wird das

Batch File beendet (goto ende).

Falls man überprüfen will, ob ein Verzeichnis existiert, m man einen kleinen Trick anwenden, wie im folgenden Beispiel beschrieben.

echo off

if not exist c:bat nul md c:bat

Hier wird, falls das Verzeichnis C:BAT nicht existiert, selbiges mit dem MS-DOS Befehl md (Make Directory) erstellt. Bei der Abfrage mit if ist darauf zu achten, das man an den Verzeichnisnamen nul" anhängt, da "if exist" nur die Existenz von Dateien feststellen kann.

Mit dem if Befehl lassen sich auch zwei Parameter miteinander vergleichen. Zu Beachten ist, das zwei Gleichheitszeichen gesetzt werden müssen.

if (not) Parameter ==Parameter2 goto

.     Parameter in Batch Files

Mit dem Aufruf eines Batch Files k nnen vom DOS Prompt auch Parameter übergeben werden. Wenn man den Inhalt eines Verzeichnisses anzeigen möchte, ohne sich jedoch in diesem Verzeichnis zu befinden, so muß man einen Parameter angeben. Parameter werden beim Aufruf an den Programmnamen angefügt und mit aufsteigender Reihenfolge als , , 3 usw. bezeichnet. Greifen wir auf Bsp.1 zurück:

Bsp 1b: (D.BAT)

dir %1 2 p o /a

---Monitor --

C:> d c:dos -- "c:dos" ist Parameter 1 und wird als %1 angesprochen

C:> dir c:dos /p o a - 2 ist nicht angegeben und wird weggelassen

[Auflistung aller Dateien im Verzeichnis C:DOS]

C:> -- D.BAT beendet

---Monitor --

So kann man aus einem beliebigen Verzeichnis den Inhalt eines anderen Verzeichnisses abfragen, ohne dorthin wechseln zu müssen.

Bsp 2: (XC BAT)

echo off

if ==! goto ende --- falls kein Parameter 1 angegeben wurde, wird abgebrochen if % ==! goto ende --- falls kein Parameter 2 angegeben wurde, wird abgebrochen xcopy 1 2 v s /e

:ende

Mit diesem Batch (XC BAT) wird der DOS Befehl "xcopy" benutzt, um Dateien oder Verzeichnisse zu kopieren. Es werden an den Befehl noch die Parameter v s und e angehängt, die bewirken, daß alle Dateien überprüft werden und auch alle Unterverzeichnisse kopiert werden. Ein weiterer Vorteil dieses Batch Files ist, daß "xcopy" nun einfach durch xc" abgekürzt wird.

Die Abfrage "if %1!==! goto ende" bewirkt, daß falls kein Parameter ) angegeben wurde ! = , zum Sprungziel "ende"

gesprungen wird.

---Monitor --

C:DOS> xc * a -- alle Dateien (mit Unterverzeichnissen) auf A: kopieren

Auflistung der kopierten Dateien] --- diese Auflistung kann sich über mehrere Seiten erstrecken

C:DOS> -- Batch File beendet

---Monitor --

Das ">" Zeichen

Um zu verhindern, daß alle Dateien, die kopiert wurden aufgelistet werden, muß man ">nul" an den xcopy" Befehl anhängen. Dadurch wird die Anzeige ins Datennirvana umgeleitet und nicht am Monitor ausgegeben.

Zusätzlich kann man noch eine Fehlerprüfung einbauen, die eine Meldung ausgibt, falls ein Fehler beim Kopieren aufgetreten

sein sollte. Dies ist von Vorteil, da man ja die Fehlermeldungen jetzt auch nicht mehr sehen kann.

Bsp 2a: (XC.BAT)

echo off

if ==! goto ende

if % ==! goto ende

echo Kopiere Dateien und Unterverzeichnisse . -- Meldung, die Ausgegeben wird

xcopy %1 2 v s e >nul

if errorlevel 1 goto error --- Falls xcopy den Errorlevel 1 zurückgibt, wird zur Fehlermeldung gesprungen

goto ende                 --- Fehlermeldung übergehen und zum Ende des Batch Files springen.

:error

echo FEHLER BEIM KOPIEREN AUFGETRETEN!

:ende

Das ">" Zeichen kann auch benutzt werden, um Daten an den Drucker zu senden (LPT1 .

Um die Autoexec.bat mit Hilfe eines Batch Files und dem type Befehl auszudrucken, müsste das Batch File so aussehen: (Vorausgesetzt, der Drucker ist an LPT1 angeschlossen)

type c:autoexec.bat >lpt1

Um eine einzige Zeile ausdrucken, kann man den bekannten echo Befehl benutzten:

echo Das ist ein Probeausdruck. >lpt1

Weiters kann man natürlich auch an COM1 und COM2 Befehle senden.

Um zB das Modem an COM2 zurückzusetzten (Modem Befehl: ATZ), muß man folgendes Bat erstellen:

echo ATZ >com2

Natürlich können alle diese Befehle auch direkt aus dem DOS Prompt (C:>) eingegeben werden, aber falls man sie fters braucht, ist es sinnvoll diese in ein Batch File zu schreiben, um sich mühsame Tipparbeit zu ersparen.

Um hier den Nutzen von Parametern aufzuzeigen folgendes Beispiel:

---SEND.BAT---

echo off echo %1 >%2

---SEND.BAT---

Mit send" kann nun entweder eine Zeile ausgedruckt werden, oder ein Befehl ans Modem geschickt werden. Wenn die Eingabe so aussieht: "send Das_ist_ein_Probeausdruck lpt1" wird "Das_ist_ein_Probeausdruck" auf LPT1 (Druckeranschluss) ausgegeben. Zu Beachten ist, daß keine Leerzeichen in der zu Druckenden Zeile vorkommen, da das schon , also der zweite Parameter wäre.

Wenn man aber send ATZ com2" eingibt, so wird das Modem an COM2 (falls vorhanden) zurückgesetzt.

Eine weitere Variante, um sich Tipparbeit zu ersparen:

---SEND.BAT---

echo off

if ==m set sendto=com2 if % ==d set sendto=lpt1 echo 1 >%sendto%

set sendto=                                     --- Die Umgebungsvariable "sendto" wird gel scht

---SEND.BAT---

Falls manr den zweiten Parameter (% ) "m" oder d" angibt, wird die Umgebungsvariable "sendto" automatisch auf "com2" (für "m" = Modem) bzw. "lpt1" ("d" steht für Drucker) gesetzt. Umgebungsvariablen werden von zwei Prozentzeichen eingeschlossen (%sendto%) und mit dem set Befehl gesetzt und gelöscht.

.     Weitere Batch File Befehle

FOR

Der for Befehl ermöglicht es,r eine bestimmte Gruppe von Dateien, einen bestimmten Befehl auszuführen. Syntax: for f in ( ) do Befehl

Hier wirdr alle Dateien ) ein Befehl ausgeführt, wobei f der jeweilige Name der Datei ist, der an den Befehl übergeben werden kann. (Wichtig sind die zwei Prozentzeichen!)

Um in einem Verzeichnis alle Dateien mit der Endung TXT auszudrucken, m man folgende Zeile in ein Batch File schreiben:

for %%f in (*.txt) do type % f >lpt1

Es werden, mit Hilfe des type Befehls, der Reihe nach alle TXT Dateien an LPT1 gesendet und ausgedruckt. Natürlich kann man jeden beliebigen Befehl für type einsetzten.

CALL

Aus einem Batch File heraus können natürlich auch andere Batch Files aufgerufen werden (und auch alle anderen ausführbaren Dateien, *.EXE und COM), aber ein Batch File, welches ein anderes aufruft, wird dadurch automatisch beendet. Um das zu verhindern muß dem Aufruf eines neuen Batch Files der call Befehl vorangesetzt werden. Dieser Befehl bewirkt, daß das urspr ngliche Batch File nicht beendet wird, sondern nachdem das neu aufgerufene Batch File durchgelaufen ist, weiterläuft.

REM

Wenn man einer Zeile eines Batch Files REM (Remark = Bemerkung) voranstellt, so wird diese Zeile beim Programmablauf ignoriert. Das ist besonders praktisch, wenn man eine Befehlszeile nur kurz entfernen will, ohne sie gleich zu löschen oder einfach nur ein nicht sichtbares Kommentar anbringen will. Zeilen mit vorangestelltem REM Kommando werden voll abgearbeitet (d h. nach Befehlen durchsucht), obwohl das nichts bewirkt. Dadurch werden Batch Files mit einigen REM Kommandos besonders auf langsamen Rechnern deutlich gebremst. Um das zu verhindern, kann man seine Kommentare auch als Sprungziel angeben, indem man statt REM einfach einen Doppelpunkt am Beginn einer Zeile angibt.

Das beschleunigt den Ablauf auf langsamen Rechnern um einiges.

PAUSE

Der Befehl pause wartet auf einen Tastendruck und zeigt eine Meldung an, bevor das Batch File weiterläuft. Um die Meldung ("Eine beliebige Taste drücken, um fortzusetzen" bzw. "Press any key to continue") nicht anzuzeigen, muß man pause >nul" ins Batch File schreiben.

Batch Files unter Windows 95

Wer glaubt, daß mit MS-DOS auch die Batch Files gestorben sind, der irrt. Unter Windows 5 ist es endlich möglich auch Programme, die eigentlich nur unter Windows laufen, aus einem Batch File bzw. dem MS-DOS Prompt heraus auszuführen. So ist es möglich, mehrere Windows Programme gleichzeitig zu starten, da aufgrund der (beschränkten) Multitaskingfähigkeiten von Windows 5 das Batch File im Hintergrund weiterläuft.hrend das erste Programm gestartet wird, startet das Batch File gleich das nächste, usw.

Zu Beachten ist jedoch, daß man zuerst die Windows Programme startet, bevor man ein MS DOS Programm startet, da die MS DOS Programme das Batch File blockieren und dieses erst weiterläuft, wenn das DOS Programm beendet wurde.



Referate über:


Datenschutz




Copyright © 2024 - Alle Rechte vorbehalten
AZreferate.com
Verwenden sie diese referate ihre eigene arbeit zu schaffen. Kopieren oder herunterladen nicht einfach diese
# Hauptseite # Kontact / Impressum