Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch Errorlevel 0

Frage Entwicklung Batch & Shell

Mitglied: leb0rtran

leb0rtran (Level 1) - Jetzt verbinden

29.06.2007, aktualisiert 21:44 Uhr, 33184 Aufrufe, 2 Kommentare

Hallo,

ich habe folgendes Problem, und zwar wenn ich if errorlevel 0 <befehl> eingebe, bearbeitet die Batch den Befehl dahinter immer, auch wenn der errorlevel zB 1 ist.

Hier der Code
01.
set d=C:\Documents and Settings\Administrator\Desktop\test\bbbb 
02.
 
03.
ping -n 1 bbbbbb 
04.
 
05.
echo %errorlevel% 
06.
 
07.
: "%ProgramFiles%\WinRAR\rar.exe" a -dh -ilog"%c%.log" -m5 -os -ri7 -rr5p -z"%d%\com%CDATE%.%CTIME%.txt" "%CDATE%_%CTIME%" "%CDATE%_%CTIME%" 
08.
 
09.
:Fehlermeldung 
10.
if errorlevel 0 goto noerror 
11.
if errorlevel 1 set error=WARNING - Es traten Fehler auf, jedoch nicht schwerwiegend (ERRORLEVEL 1) 
12.
if errorlevel 2 set error=FATAL ERROR - Es trat ein schwerer, nicht behebbarer Fehler auf (ERRORLEVEL 2) 
13.
if errorlevel 3 set error=CRC ERROR - Ein Prüfsummenfehler trat beim Entpacken auf (ERRORLEVEL 3) 
14.
if errorlevel 4 set error=LOCKED ARCHIVE - Sie versuchten, ein Archiv zu öffnen, dass mit Befehl "k" gesperrt wurde (ERRORLEVEL 4) 
15.
if errorlevel 5 set error=WRITE ERROR - Die Datei konnte nicht gespeichert werden (ERRORLEVEL 5) 
16.
if errorlevel 6 set error=OPEN ERROR - Die Datei konnte nicht geöffnet werden (ERRORLEVEL 6) 
17.
if errorlevel 7 set error=USER ERROR - Fehler in den Kommandozeilenoptionen (ERRORLEVEL 7) 
18.
if errorlevel 8 set error=MEMORY ERROR - Nicht genug Speicher für diese Operation (ERRORLEVEL 8) 
19.
if errorlevel 9 set error=CREATE ERROR - Fehler beim Erstellen einer Datei (ERRORLEVEL 9) 
20.
if errorlevel 255 set error=USER BREAK - Strg-Untbr wurde vom Benutzer gedrückt (ERRORLEVEL 255) 
21.
 
22.
echo %error% 
23.
 
24.
:net send pc1 "%error%BACKUP %g% @ %COMPUTERNAME% %CDATE% : %CTIME%" 
25.
echo %CDATE%_%CTIME% : Compressing failed>> "%d%.log" 
26.
echo                 : %error%>> "%d%.log" 
27.
goto end 
28.
 
29.
:noerror 
30.
echo noerror 
31.
 
32.
:end 
33.
 
34.
pause
Also er springt immer auf noerror.
Ich hab den ping Befehl mal reingetan um n errorlevel von ein zu reproduzieren, mit set errorlevel=1 passiert das selbe.

Kann mir jemand helfen? Bin am verzweifeln!

leb0rtran
Mitglied: bastla
29.06.2007 um 21:23 Uhr
Hallo leb0rtran!

Aus der Hilfe zu "if":
ERRORLEVEL Nummer
Bedingung ist erfüllt, wenn das zuletzt ausgeführte Programm einen Code größer oder gleich der Nummer zurückgibt.


Daraus folgt, dass eine Abfrage der Art "if errorlevel 0" de facto sinnlos ist (da alle Errorlevel >= 0 sein sollten). "Klassisch" ist die Lösung mit absteigender Reihenfolge - der entsprechende Teil könnte dann so aussehen:
01.
set error= 
02.
if errorlevel 255 set error=USER BREAK - Strg-Untbr wurde vom Benutzer gedrückt (ERRORLEVEL 255) & goto :Fehler 
03.
if errorlevel 9 set error=CREATE ERROR - Fehler beim Erstellen einer Datei (ERRORLEVEL 9) & goto :Fehler 
04.
... 
05.
if errorlevel 1 set error=WARNING - Es traten Fehler auf, jedoch nicht schwerwiegend (ERRORLEVEL 1) & goto :Fehler 
06.
echo noerror 
07.
pause 
08.
goto :eof 
09.
:Fehler 
10.
echo %error% 
11.
...
Alternativ dazu könntest Du auch die Variable %errorlevel% abfragen. Dann würde auch
01.
if %errorlevel%==0 goto noerror
funktionieren.

Zum Testen des Errorlevels kannst Du übrigens folgendes VB-Script verwenden (speichern unter "Error.vbs"):
01.
If WScript.Arguments.Count > 0 Then If IsNumeric(WScript.Arguments(0)) Then WScript.Quit(Abs(WScript.Arguments(0)))
Bei einem Aufruf mit Angabe einer Zahl wird der entsprechende Errorlevel gesetzt, also etwa
01.
cscript //nologo Error.vbs 5
Wird kein oder ein nicht-numerisches Argument übergeben, wird ein Errorlevel 0 erzeugt.

Grüße
bastla

[Edit] (Obwohl für diesen Einsatzzweck eigentlich egal) Script gegen nicht-numerische Argumente abgesichert. [/Edit]
Bitte warten ..
Mitglied: leb0rtran
29.06.2007 um 21:44 Uhr
ahhh, deshalb
Vielen Dank für die Hilfe
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(2)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (10)

Frage von 1410640014 zum Thema Backup ...