Zum Inhalt springen

PRoblem mit errorlevel in Batch-datei


Sven Eichler

Empfohlene Beiträge

Hallo!

Muss eine Batch zum Druckermappen schreiben (...jaaa, ich weiss, das gabs hierr auch schon...)

Die Batch funktioniert soweit auch schon, aber ich möchte noch einige Kleinigkeiten einfügen:

1.) Eine Fehlermeldung soll ausgegeben werden, wenn ein Fehler auftritt ==> wie verweise ich auf den errorlevel bzw. wie erhalte ich den Wert des errorlevels?

2.) Nach einer Fehlermeldung soll der User die Möglichkeit haben, auszuwählen, ob er es nochmal versuchen will (z.B. der Drucker war aus etc.) oder nicht.

3.) (Peinlich) Wie füge ich denn nach "echo" eine Leerzeile ein...?

Ich poste mal, was ich hab, vielleicht kann mir ja jemand helfen. Ich sitz da nämlcih schon ne ganze Weile dran und komm nicht weiter... :beagolisc

#########

:start

@echo off

net use lpt1: /d

cls

color 0f

echo DRUCKER-EINRICHTUNG FUER DOS-PROGRAMME <== Hier sollte eine Leerzeile hin

echo Bitte geben Sie den Namen des Druckers ein, den Sie verbinden moechten.

echo Es genuegt, wenn Sie die Ziffer eingeben:

set /P d=

echo Bitte geben Sie den Typ des Druckers ein, den Sie verbinden moechten.

echo Es genuegt, wenn Sie die letzten Ziffern eingeben

echo (z.B. "1010" fuer einen Kyocera FS-1010):

set /p t=

net use lpt1: \\achern%d%\kyo%t% <== Bis hier gehts wunderbar

if %errorlevel% equ 1 goto :2 else goto :1 COLOR=crimson]<== Hier blick ichs nicht mehr wegen dem errorlevel

:1

color 0c

echo Es trat ein Fehler auf. Bitte ueberpruefen Sie, ob der gewuenschte

echo Rechner und Drucker eingeschaltet sind. Versuchen Sie es erneut.

echo Wollen Sie es erneut versuchen? (j/n)

set /p w=

if %w == j goto :start <== Bei Eingabe "J" soll er auf die Marke "Start" springen, bei "N" verlassen.

if %w == n exit

:2

echo Der Drucker Kyocera FS-%t% an PC Achern%d% steht jetzt zur Verfuegung.

echo Bitte starten Sie Ihre DOS-Anwendung erneut, damit die Einstellungen

echo uebernommen werden.

exit

##########

Bitte, bitte helft, ich hab echt keine Ahnung mehr, die I-Net- und Boardsuche war zwar ergiebig, aber irgendwie doch lateinisch... :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Sven Eichler

if %errorlevel% equ 1 goto :2 else goto :1 COLOR=crimson]<== Hier blick ichs nicht mehr wegen dem errorlevel

soweit ich weiss gibts keine else funtion im dosmodus in zusammenhang mit der if anweisung. (ich nutz hier nt)

deswegen wuerde ich eine zweite if clausel einfügen

if %errorlevel% equ 1 goto :2

if %errorlevel% neq 1 goto :1

versuchs mal damit.

mfg

MM

Link zu diesem Kommentar
Auf anderen Seiten teilen

3.) (Peinlich) Wie füge ich denn nach "echo" eine Leerzeile ein...?

das geht mit "echo." ohne""

2.) Nach einer Fehlermeldung soll der User die Möglichkeit haben, auszuwählen, ob er es nochmal versuchen will (z.B. der Drucker war aus etc.) oder nicht.

:falscheing

set /p w=

if %w% == j goto :start --> ist eingabe = j gehe zu start

if %w% == n goto :exit --> ist eingabe = n gehe zu exit

echo Falsche eingabe --> wenn werde j noch n dann gehe nach :falscheing

goto :falscheing -->

dann schreibst du noch ganz unten in die batch :exit

1.) Eine Fehlermeldung soll ausgegeben werden, wenn ein Fehler auftritt ==> wie verweise ich auf den errorlevel bzw. wie erhalte ich den Wert des errorlevels?

net use lpt1: \\achern%d%\kyo%t%

if %errorlevel% == 0 goto :2 --> wenn errorlevel ok dann gehe zu alles ok

goto :1 --> sonst gehe zu wiederholen abfrage

hoffe das hilft

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ Nager: Stimmt, man kann "else" mit "if" verwenden, solange es in der gleichen Zeile steht.

@ all: Vielen Dank für die Ratschläge, habs aber tatsächlich alleine hinbekommen. Naja, nicht schön, aber selten - Manchmal sollte man einfach mal aufstehen, in Ruhe zu einem Kaffee eine Zigarette rauchen und kurz abschalten: Dann kriegt man nämlcih auch sowas hin. :uli

Wer Interesse daran hat, dem kann ich es ja schicken, ich weiss nicht, ob ich es hier posten sollte, es ist (etwas ausgebaut) doch etwas länger... Wenn Interesse besteht aber kein Problem. Danke nochmal! :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...