Erkläre deine Absichten mal genauer.
Es gibt 2 Varianten wie man dieses Problem verstehen kann.Soll deine Batch von der Eingabeaufforderung gestartet werden und das eventuelle help als Argument beinhalten. Oder soll man direkt während die Batch abläuft einfach h eingeben und dann kommt die Hilfe.
Zu der ersten Variante.Sprich wenn man in dem Kommandzeile "script.bat -help" eingibt um den Script zu starten.
Die Argumente werden innerhalb der Batch durchnummeriert und können per einfacher vorgestelltem %-Zeichen eingesetzt werden. Die %0 ist hierbei generell besetzt mit dem kompletten Dateipfad der Batchdatei.
Unser Argument %1 müsste also "-help" heissen, wenn es denn eingegeben worden ist. Ansonsten existiert dieser nämlich nicht.Man muss nun einfach nur per If-Schleife fragen ob %1 gleich "-help" ist und dann entsprechend die hilfe anzeigen.
@echo off
cls
IF %1==-help goto hilfe
:programme
echo hier deine normalen befehle
:hilfe
echo hier die Hilfe
exit
Zu der zweiten Variante.Sprich wenn man bereits die script.bat bereits gestartet hat und während sie abläuft nach einer Hilfe fragen möchte.Damit der Benutzer eine Eingabe geben kann wird während der Abfrage die Batch angehalten und geht erst weiter nachdem die Eingabe mittels Enter bestätigt wurde.
Die Eingabe wird immer automatisch in eine Variable gespeichert mit der man dann weiterarbeiten kann.So fragt man nach einer Eingabe.
set /p variable=Eingabe:
Wobei "variable" der Variablenname ist und das "Eingabe:" wird dem Benutzer angezeigt, damit er weiss, dass er nun eine Eingabe machen kann. Hier kann auch was anderes stehen (man könnte es sogar frei lassen)
Nun muss man nur noch per if-schleife Abfragen ob ein h eingegeben worden istIF %variable%==h goto hilfe
Bedenke hierbei, dass auch nur das kleine h ohne "-" oder "/" abgefragt wird.Besser ist es also wenn direkt vor der set /p Abfrage angibt was man einzugeben hat.
Hier also der ganze Script.
@echo off
cls
echo.
echo [1] Zum ersten Befehl
echo [Ende] zum Beenden des Programms
echo [h] Für Hilfe
echo.
set /p variable=Eingabe:
IF %variable%==1 goto befehl1
IF %variable%==Ende goto exit
IF %variable%==ende goto exit
IF %variable%==h goto hilfe
IF %variable%==H goto hilfe
Diese Frage teilen