Hat jemand eine Idee wo ich eine Liste der Errorlevels für bestehende DOS Befehle her kriege?
Gibt es von MS eine Liste?
Ich habe das Problem, daß ich in einer Batch-Datei abfragen möchte, ob die jeweiligen Befehle ordnungsgemäß abgearbeitet wurde, und wenn nicht, dann entsprechend reagieren zu können.
Probieren ist möglich, aber sehr zeitaufwendig und fehleranfällig!
Hat jemand eine Idee wo ich eine Liste der Errorlevels für
bestehende DOS Befehle her kriege?
äääh, nein (siehe vorredner
Probieren ist möglich, aber sehr zeitaufwendig und
fehleranfällig!
aber immer noch am zuverlässigsten…
Was ich eigentlich sagen wollte: Ich habe die Erfahrung gemacht, daß ein und derselbe Shell-Befehl unter verschiedenen DOS-Versionen verschiedene Errorlevels unter den gleichen Umständen bringt. Sollte also keine absolute Notwendigkeit bestehen, mit dem gleichen Batch unter verschiedenen DOS-Versionen zu arbeiten ist es meist besser sich ein kleines C-Progrämmchen zu schreiben.
DOS-Versionen zu arbeiten ist es meist besser sich ein kleines
C-Progrämmchen zu schreiben.
Vermutlich bist Du Programmierer. Ich habe mir 10 Jahre lang eingeredet, daß „C“ DIE Sparache ist, und habe mich gequält damit. Und bin immer noch nicht in der Lage, wirklich vernünftig damit zu arbietne. Über einen 50zig Zeiler bin ich nicht hinausgekommen.
Hi,
eine Liste kenne ich auch nicht. Aber zum austesten bestimmter dosbefehle habe ich ein gutes Programm gefunden das die Fehlernummern anzeigt.
Hinweis: Unpraktischerweise erzeugen eine Menge Dos-Befehle keine Errorlevels, aber auch darüber habe ich keine Liste )
Gruß
olala
Inhalt von fehl.bat
********************************************************** @echo off
gibt den Errorlevel als Umgebungsvariable fehl zurück
set kurz=
FOR %%a in (0 1 2) do IF Errorlevel %%a00 set fehl=%%a
IF not Errorlevel 200 set kurz=6 7 8 9
FOR %%a in (0 1 2 3 4 5 %kurz%) do IF Errorlevel %fehl%%%a0 set fehl=%fehl%%%a
IF not Errorlevel 250 set kurz=6 7 8 9
FOR %%a in (0 1 2 3 4 5 %kurz%) do IF Errorlevel %fehl%%%a set fehl=%fehl%%%a
ECHO Errorlevel: %fehl%
set kurz=
pause
*******************************************************
Beispieltestbatch zum testen, Name egal.bat
******************************************************* @echo off
cls
dir /-p *.* | find „.“
echo dir ohne fehler
call fehl
dir *.* | find „nichtda“
echo dir mit fehler
call fehl
xcopy a:\nichtda.3x7 d:
echo xcopy mit fehler
call fehl
keyb nichtda.3x7
echo keyb mit fehler
call fehl
set fehl=
********************************************************
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]