Übersicht Stapeldateien

,

Stapeldateien
Was ist eine „Stapeldatei“?
Stapeldateien sichtbar machen
Eine Stapeldatei erstellen
Eine Stapeldatei benutzen
Spezielle Befehle für Batch-Dateien
Beispiele
Netzwerkverbindung herstellen (geplant)
Verwandte Themen
Batch-Programmierung (Wikibooks)
Übersicht Kommandozeilenbefehle
Übersicht Software

Was ist eine „Stapeldatei“?

Das englische Wort „Batch“ bedeutet „Stapel“. Woher stammt diese Bezeichnung? Die Großcomputer der 70er Jahre wurden mit Stapeln von Lochkarten gefüttert. Jede Lochkarte enthielt einen Befehl oder eine Zahl.
Die Speicherung auf Lochkarten war aufwändig und fehleranfällig und wurde durch Disketten abgelöst. Dabei wurde jede Lochkarte durch eine Textzeile in einer Datei auf Diskette ersetzt. Seitdem bezeichnet man eine Datei, die eine Folge von Befehlen enthält, als Batch-Datei, deutsch: Stapel-Datei.
Das Betriebssystem erkennt an der Dateierweiterung, wie es eine Datei zu behandeln hat. Stapeldateien müssen einen Dateinamen haben, der mit .BAT oder (ungebräuchlich) mit .CMD endet.

Stapeldateien sichtbar machen

Stapeldateien zählen zu den systemkritischen Dateien und werden ebenso wie .exe, .dll, .inf und viele andere sogenannte „bekannte“ Dateitypen in der Standardeinstellung ohne die Dateinamenerweiterungen angezeigt, was übrigens ein Sicherheitsrisiko ist. Um Stapeldateien erstellen und bearbeiten zu können, müssen die Dateinamenerweiterungen sichtbar sein.
Deren Anzeige wird folgendermaßen eingeschaltet:

  • Starten Sie den Windows-Explorer. (Nur Windows 7: Wenn Sie unter der Titelleiste keine Menüzeile sehen, drücken Sie auf F10.)
  • Klicken sie auf „Extras“, dann auf „Ordneroptionen“ (siehe Bild).
  • Unter „Ansicht“ finden Sie die Einstellung „Erweiterung bei bekannten Dateitypen ausblenden“. Entfernen Sie den Haken, dann „Übernehmen“ und „OK“.

Andere Möglichkeit: Nutzen Sie das Menüband vom Windows Explorer. Klicken Sie auf „Ansicht“ und setzen Sie vor „Dateinamenerweiterungen“ einen Haken.

Eine Stapeldatei erstellen

Nun können Sie eine Stapeldatei erstellen. Sie können die Datei auf dem Desktop erstellen oder in einem anderen Verzeichnis. Wechseln Sie in das gewünschte Verzeichnis. Klicken Sie mit der rechten Maustaste hinein, wählen Sie „Neu“ und „Textdatei“. Tragen Sie den gewünschten Dateinamen ein, wobei Sie das vorgeschlagene .TXT durch .BAT ersetzen müssen. Ignorieren Sie die Warnmeldung, dass die Datei unbrauchbar wird, ändern Sie trotzdem die Dateinamenerweiterung. Nun haben Sie eine Stapeldatei, noch ohne Inhalt. Das Symbol einer Stapeldatei ist ein Zahnrad, denn Sie befinden sich gewissermaßen im „Maschinenraum“ von Windows: Es gibt hier keine Assistenten oder „Sicherheitsleute“, keine Fragen „Wollen Sie wirklich …?“ und kein „rückgängig machen“. Arbeiten Sie sorgfältig!
Klicken Sie nun mit der rechten Maustaste auf den Dateinamen und wählen Sie „Bearbeiten“.
Jetzt können Sie die Befehlszeilen eingeben.
Es ist empfehlenswert, jedes Batch-Programm mit dem Befehl „Pause“ zu beenden. Dadurch schließt sich das Programmfenster am Programmende nicht, und Sie haben genügend Zeit nachzusehen, ob das Stapelprogramm wie gewünscht funktioniert hat oder ob es Fehlermeldungen gegeben hat.
Achten Sie unbedingt darauf, die letzte Befehlszeile mit „Enter“ abzuschließen, sonst wird der letzte Befehl eventuell nicht ausgeführt.

Eine Stapeldatei benutzen

Ein Stapelprogramm wird gestartet (ausgeführt), indem man in der Eingabeaufforderung dessen Namen eingibt und Enter drückt. Dabei muss die Erweiterung (.bat) nicht eingetippt werden. Mit Leerzeichen abgetrennt können bis zu neun Parameter übergeben werden, auf die von der Stapeldatei unter den Variablennamen %1 bis %9 zugegriffen werden kann.
Sie können die Stapeldatei auch doppelt anklicken, um sie zu starten. Es kann auch eine Verknüpfung mit einer Stapeldatei erstellt werden.
Auf eifert.net unter „Hilfen“ → „Software“ → „Anleitungen (Programme von Microsoft)“ oder unter „Hilfen“ → „Datensicherung“ → „Diverses“ finden Sie die Anleitung „Eingabeaufforderung öffnen“ mit kommentierten Beispielen.

Einfache Beispiele

Nachfolgend Beispiele für Batchdateien, die aus nur einer Zeile bestehen.
Platziert man eine Verknüpfung mit dieser Mini-Batch-Datei auf dem Desktop, kann sie mit einem Doppelklick ausgeführt werden.

Rechtsklick auf eine leere Stelle des Desktops, „Neu“ → „Verknüpfung“. Tippen Sie den Befehl ein, „Weiter“, geben Sie der Verknüpfung einen Namen, „Fertig stellen“.

Sie können eine Batch-Datei auch mit einer Tastenkombination starten: Klicken Sie mit der rechten Maustaste auf die neue Verknüpfung, wählen Sie „Eigenschaften“ und geben Sie im Feld „Tastenkombination“ beispielsweise Strg-Alt-L ein.

rundll32.exe powrprof.dll,SetSuspendState Sleep versetzt den PC in den Energiesparmodus.

rundll32.exe shell32.dll,Control_RunDLL hotplug.dll meldet einen USB-Massenspeicher ab („Hardware sicher entfernen“).

rundll32.exe Shell32,Control_RunDLL Systemsteuerung aufrufen.

Benutzereingabe während der Stapeldatei

Der Befehl set /p text= erwartet eine Eingabe von der Tastatur und füllt die Variable text mit der eingegebenen Zeichenfolge.
Damit kann man beispielsweise während der Abarbeitung einer Stapeldatei eine Bedienerabfrage realisieren.

echo off
echo Geben Sie "j" oder "n" ein, gefolgt von "Enter"
:j-oder-n
set /p text=
if "%text%"=="j" goto ja
if "%text%"=="J" goto ja
if "%text%"=="n" goto nein
if "%text%"=="N" goto nein
rem weder j noch n, also erneut fragen
echo Falscheingabe! Entweder j oder n eingeben
goto j-oder-n

:ja
echo j oder J wurde eingegeben
goto Schluss
:nein
echo n oder N wurde eingegeben
goto Schluss

:Schluss
echo Batchdatei beendet
pause

Einige spezielle Befehle für Batch-Dateien

In einer Stapeldatei können eine Vielzahl von Befehlen verwendet werden: dir für die Anzeige von Dateien, copy, xcopy und robocopy zum Kopieren, cd, md und rd für den Umgang mit Ordnern, net für die Verwaltung von Netzwerkverbindungen, format und del zum Löschen von Datenträgern und Dateien und viele mehr. Darüber hinaus gibt es Befehle, die nur in Stapeldateien sinnvoll verwendet werden können.
Mit einem Befehl IF kann man die Ausführung von Befehlen abhängig machen von Parametern oder vom Zustand des Computers. Beispiele:
IF NOT EXIST D:\RECHNUNG.DOC COPY C:\RECHNUNG.DOC D:\
kopiert eine Datei C:\RECHNUNG.DOC nur dann nach Laufwerk D:, wenn es sie dort nicht gibt.
IF "%DATE%" == "31.12.2021" GOTO JAHREND
führt eine „Sprunganweisung“ zur „Sprungmarke“ (Label) :JAHREND aus, wenn das Betriebssystem als Datum den 31.12.2021 meldet. Mit derartigen Sprunganweisungen werden Programmverzweigungen realisiert.
Die Sprungmarke :EOF ist vordefiniert und bezeichnet das Ende jeder Stapeldatei. Mit goto :EOF können Sie also jederzeit eine Stapeldatei beenden.
Sprungmarken dürfen Leerzeichen enthalten, aber keine anderen Trennzeichen. Die ersten acht Zeichen einer Sprungmarke sollten einzigartig sein.

  • ECHO Hallo schreibt den Text „Hallo“ auf den Bildschirm. Mit dem Echo-Befehl können der Ablauf des Programms und die erreichten Ergebnisse protokolliert werden.
  • PAUSE stoppt die Ausführung der Stapelbefehle. Wird eine Taste gedrückt, geht es weiter mit dem nächsten Befehl.
  • CALL ruft eine andere Batchdatei wie ein Unterprogramm auf und ermöglicht die Rückkehr zum aufrufenden Hauptprogramm.

Windows hält einige Variablen bereit, die in Stapeldateien verwendet werden können, z. B. die Variablen TIME für die aktuelle Uhrzeit (auf hundertstel Sekunden genau) und DATE für das aktuelle Datum.

Will man die Arbeit einer Stapeldatei protokollieren, kann man sich am folgenden Beispiel orientieren.
Angenommen, es ist der 26.05.2020 um 16:05 Uhr.

echo Start am %date% um %time%
echo Start am %date% um %time% >c:\Users\Klaus\Desktop\Bericht.txt
rem Hier können die Befehle der Stapeldatei folgen
echo Ende am %date% um %time% >>c:\Users\Klaus\Desktop\Bericht.txt

Der erste Befehl schreibt „Start am 26.05.2020 um 16:05:03,15“ auf den Bildschirm.
Der zweite Befehl erstellt eine Datei Bericht.txt auf dem Desktop des Benutzers Klaus und schreibt „Start am 26.05.2020 um 16:05:03,15“ dahinein. Eine möglicherweise vorhandene ältere Datei Bericht.txt wird ohne Warnung überschrieben.
Der letzte Befehl hängt einen Text „Ende am 26.05.2020 um 16:22:05,33“ an die vorhandene Datei Bericht.txt hinten an.

Eine weitere nützliche Variable USERPROFILE zeigt einen Pfad wie z. B. c:\Users\Klaus für den jeweiligen Nutzer an. Damit könnte man den letztgenannten Befehl tauglich machen für Benutzer, die nicht „Klaus“ heißen:
echo Ende am %date% um %time% >>%userprofile%\Desktop\Bericht.txt


 

 

Skills

Posted on

6. Februar 2023

Submit a Comment

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .

Skills

Posted on

6. Februar 2023

Cookie Consent Banner von Real Cookie Banner