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, 33655 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Win10 ändert den Errorlevel? ( Batch ) (12)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Mehrzeiligen Powershell-Befehl mit Batch ausführen (3)

Frage von 133202 zum Thema Batch & Shell ...

Batch & Shell
gelöst EQU - GLEICH - BATCH (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst Abfrage ERRORLEVEL springt aus der FOR Schleife (8)

Frage von Galindiesel zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (15)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Rechtliche Fragen
Hotspot rechtssicher betreiben? (14)

Frage von xSiggix zum Thema Rechtliche Fragen ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (14)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...