Batch Script – Parameter übergeben

So kann man einem Batch Script Parameter übergeben!

Einführung

Oft ist es nötig einem Batch Script Parameter zu übergeben, damit irgendwelche Anweisungen bearbeitet werden können. Wollen wir uns folgendes kleines Beispiel ansehen, um die Parameterübergabe zu verstehen.

Beispielscript

Es soll ein Script erstellt werden, welches einen Ordner anlegt. Das besondere ist jetzt, dass wir den Namen des Ordners dem Script übergeben.

@echo off
md %1

Aufgerufen wird das Script folgendermaßen:

c:\scripte>parameter.bat testordner 

Der übergebene Parameter wird in die Variable %1 gespeichert. Anschließend wird mit md (make directory) das Verzeichnis erstellt. Der Ordner wird natürlich im gleichen Verzeichnis angelegt, von welchem wir das Script aus ausführen. Der Ordner liegt nun im Verzeichnis c:scripte. Mehrere übergebene Parameter werden der Reihe nach dann in %1, %2, etc gespeichert. Interessant ist noch die Ausgabe %0. Den hier steht der Name des aufgerufenen Scripts.

Erweitern wir das Script nun mit einer kleinen Überprüfung, ob ein Parameter übergeben worden ist. Hierfür bedienen wir uns einer einfachen if – Anweisung inklusiver Sprungmarken. Schauen wir uns als erstes den Quellcode an.

@echo off if %1.==. goto: FEHLER goto:eof :FEHLER echo Das Script muss folgendermassen aufgerufen werden: %0 Ordnername

Mit der if-Bedingung prüfen wir, ob ein Parameter übergeben worden ist. Innerhalb eines Batch Scriptes kann man nicht auf null prüfen, darum verwenden wir den Punkt. Es könnte auch jedes andere Zeichen verwendet werden. D. h. wenn in %1 nichts drinnen steht so ist die Bedingung wahr, weil Punkt ist gleich Punkt. Deshalb springt das Script mit der Anweisung goto zu der Sprungmarke FEHLER. Dort geben wir an, wie das Script richtig aufgerufen werden muss. Hier verwenden wir nun die Variable %0. Nicht vergessen, da drinnen steht der Name des Scripts. Wenn jetzt beim Aufruf des Scripts kein Ordnername übergeben worden ist, so widr uns aufgezeigt, wie wir das Script ausführen müssen. Sofern wir einen Ordner übergeben wird dieser angelegt und das Script wird mit goto:eof (end of file) beendet.

Fazit

Batch-Scripte  sind relativ einfach und schnell erstellt. Das obige Beispiel beschreibt im Wesentlichen drei wichtige Funktionen von Batch-Scripten: Parmeterübergabe, if-Abfragen und Sprungmarken.

Das könnte ich auch interessieren:

1 Kommentar

  1. OMG DANKEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!
    Ich tüftel schon ewig daran, warum
    if %1 EQU nul
    nicht geht!

    Erklärung: Batch schließt das Programm bei Fehlern statt sie anzuzeigen und mit > log.txt kann man sie auch nicht abgreifen.

Kommentare sind deaktiviert.