Startseite » wie man » So schreiben Sie ein Batch-Skript unter Windows

    So schreiben Sie ein Batch-Skript unter Windows

    Wissen Sie, wie Sie die Eingabeaufforderung verwenden? Wenn Sie dies tun, können Sie eine Batchdatei schreiben. In der einfachsten Form ist eine Stapeldatei (oder ein Stapelskript) eine Liste mehrerer Befehle, die ausgeführt werden, wenn Sie auf die Datei doppelklicken. Batch-Dateien gehen bis zu DOS zurück, funktionieren aber immer noch mit modernen Windows-Versionen.

    PowerShell-Skripts und Bash-Skripts sind möglicherweise leistungsfähiger. Batchdateien können jedoch dennoch nützlich sein, wenn Sie grundlegende Windows-Befehle ausführen müssen.

    Batchdatei-Grundlagen

    Eine Batchdatei ist einfach eine Textdatei, die mit der Dateierweiterung .bat gespeichert wird. Sie können mit Notepad oder einem fortgeschritteneren Texteditor wie Notepad ++ schreiben, aber kein Textverarbeitungsprogramm wie Microsoft Word verwenden.

    Erstellen wir eine einfache Batchdatei. Öffnen Sie zunächst den Editor. Geben Sie die folgenden Zeilen ein:

    ECHO OFF ECHO Hallo Welt PAUSE

    Speichern Sie anschließend die Datei, indem Sie auf Datei> Speichern klicken. Geben Sie einen beliebigen Namen ein, ersetzen Sie jedoch die Standarderweiterung .txt durch die Erweiterung .bat.

    Sie möchten es beispielsweise benennen hello_world.bat .

    Sie haben jetzt eine Batchdatei mit der Dateierweiterung .bat. Doppelklicken Sie darauf, um es auszuführen. Diese bestimmte Batchdatei setzt ECHO aus (wodurch die Ausgabe bereinigt wird, indem die Befehle an der Eingabeaufforderung ausgeblendet werden), der Text „Hello World“ auf dem Bildschirm angezeigt wird und Sie warten, bis Sie eine Taste drücken, bevor sie endet.

    Wenn Sie nicht hinzugefügt haben PAUSE In der Datei würde die Batchdatei einfach ihre Befehle ausführen und dann automatisch schließen. In diesem Fall würde "Hello World" in das Fenster gedruckt und das Eingabeaufforderungsfenster sofort geschlossen werden. Wenn Sie Befehle schnell ausführen möchten, ohne die Ausgabe zu sehen, können Sie dies weglassen. Wenn Sie mehrere Befehle ausführen, können Sie den Befehl platzieren PAUSE Befehl zwischen ihnen.

    Schreiben einer komplexeren Batchdatei

    Das Erstellen einer Batchdatei ist grundsätzlich einfach. Das einzige, was Sie ändern müssen, ist das, was Sie in den Editor eingeben. Um mehrere Befehle auszuführen, geben Sie jeden in eine eigene Zeile ein und die Batch-Datei wird nacheinander ausgeführt.

    Angenommen, wir möchten eine Batchdatei schreiben, in der mehrere Befehle zur Netzwerkdiagnose ausgeführt werden. Wir möchten vielleicht rennen ipconfig / all Netzwerkinformationen anzeigen, ping google.com um zu sehen, ob die Server von Google antworten, und tracert google.com um eine Traceroute auf google.com auszuführen und zu sehen, ob es Probleme auf dem Weg gibt.

    In der einfachsten Form könnten wir einfach alle diese Befehle in einer Batch-Datei nacheinander platzieren, wie es so ist:

    ipconfig / all ping google.com tracert google.com PAUSE

    Wenn wir diese Datei ausführen, sehen wir nur die Ausgabe jedes Befehls direkt nach dem anderen. Dies ist jedoch nicht unbedingt der ideale Weg, um eine Batchdatei zu schreiben.

    Sie möchten beispielsweise Kommentarzeilen hinzufügen. Jede Zeile, die mit a beginnt :: ist eine Kommentarzeile und wird nicht ausgeführt. Das macht sie zu einer nützlichen Möglichkeit, um zu erklären, was in der Datei geschieht, für jeden, dem Sie es geben könnten, oder für Ihr zukünftiges Selbst, der vergessen könnte, warum Sie einen bestimmten Befehl dort eingeben.

    Möglicherweise möchten Sie auch den Befehl "ECHO OFF" am Anfang der Datei hinzufügen. Dies wird normalerweise am Anfang der meisten Batchdateien hinzugefügt. Wenn Sie dies tun, werden die Befehle selbst nicht in der Eingabeaufforderung gedruckt, aber die Ergebnisse werden angezeigt. Beispielsweise werden die Netzwerkverbindungsdetails angezeigt, nicht jedoch die Zeile "ipconfig / all". Die meisten Leute möchten die Befehle nicht sehen, so dass die Ausgabe bereinigt werden kann.

    So könnte das aussehen:

    :: Diese Batchdatei sucht nach Netzwerkverbindungsproblemen. ECHO OFF :: Anzeigen der Netzwerkverbindungsdetails ipconfig / all :: Prüfen Sie, ob Google.com erreichbar ist. Ping google.com :: Führen Sie einen Traceroute aus, um die Route zu Google.com zu überprüfen. Tracert google.com PAUSE

    Es gibt andere Anweisungen für eine solche Batchdatei. Beispielsweise möchten Sie, dass Ihr Batch-Skript die obigen Befehle ausführt und die Ausgabe dann in eine Textdatei speichert, die Sie später anzeigen können. Verwenden Sie dazu die >> Operator nach jedem Befehl, um seine Ausgabe an die Textdatei anzuhängen. Da wir die Ausgabe ohnehin aus der Textdatei lesen, können wir die Ausgabe weglassen PAUSE Befehl.

    :: Diese Batchdatei sucht nach Netzwerkverbindungsproblemen :: und speichert die Ausgabe in einer TXT-Datei. ECHO OFF :: Anzeigen der Netzwerkverbindungsdetails ipconfig / all >> results.txt :: Überprüfen Sie, ob Google.com erreichbar ist. Ping google.com >> results.txt :: Führen Sie einen Traceroute aus, um die Route zu Google.com zu überprüfen. com >> ergebnis.txt

    Nachdem Sie das obige Skript ausgeführt haben, finden Sie eine Datei namens results.txt im selben Ordner wie die Stapeldatei mit der Ausgabe der Befehle. Das Eingabeaufforderungsfenster wird automatisch geschlossen, sobald die Stapeldatei ausgeführt wird.

    Das Beispiel, das wir oben verwenden, basiert darauf, Informationen tatsächlich an der Eingabeaufforderung zu drucken, damit der Benutzer sie lesen kann. Viele Batch-Dateien können jedoch nicht interaktiv ausgeführt werden. Beispielsweise könnten Sie eine Stapeldatei haben, die beim Doppelklicken mehrere Dateien oder Verzeichnisse löscht. Sie müssen nur das verwenden del Befehl zum Löschen von Dateien oder der Deltree Befehl zum Löschen von Verzeichnissen. Denken Sie daran, dass Sie nur dieselben Befehle verwenden, die Sie in einem Eingabeaufforderungsfenster ausführen würden.

    Grundsätzlich ist dies der Punkt der meisten Batch-Dateien - es werden nur ein paar Befehle nacheinander ausgeführt. Batchdateien können jedoch tatsächlich wesentlich komplexer sein. Sie können zum Beispiel mit dem Befehl "GOTO" den Befehl "IF" verwenden, um den Wert von etwas zu überprüfen und dann je nach Ergebnis zu anderen Zeilen zu springen. Dies ist mehr ein Schreiben eines wirklich kleinen Programms als ein schnelles und schmutziges Skript. Dies ist ein Grund, warum .bat-Dateien manchmal als „Stapelprogramme“ bezeichnet werden. Wenn Sie etwas komplexeres machen möchten, finden Sie eine Vielzahl von Anleitungen, um bestimmte Dinge mit der Stapelprogrammierung online zu tun. Aber jetzt kennen Sie die Grundlagen, wie man ein einfaches zusammen wirft.