Bedeutung von RD Errorlevel 1 und Abweichung von errorlevel Meldungen in Batch und Konsole
Ich lösche einen Flashspeicher im Netzwerk mit:
Ich habe den Code vor Tagen erfolgreich getestet und er lief mit Errorlevel 0 durch.
Heute bemerke ich daß ich errorlevel 1 bekomme obwohl der Speicher komplett gelöscht wird und in der Konsole erhalte ich wie gewünscht errorlevel 0
Ich kann hier nicht den gesamten Code posten, er sollte den RD Befehl wohl auch nicht betreffen, der Laufwerkbuchstabe wird richtig angegeben.
Was genau bedeutet errorlevel 1 bei RD und unter welchen Umständen kann Code in der Konsole von einer Batch Datei abweichen? Beide haben Adminrechte.
SET Buchstabe=z
...
RD !Buchstabe!: /s /q
Ich habe den Code vor Tagen erfolgreich getestet und er lief mit Errorlevel 0 durch.
Heute bemerke ich daß ich errorlevel 1 bekomme obwohl der Speicher komplett gelöscht wird und in der Konsole erhalte ich wie gewünscht errorlevel 0
Ich kann hier nicht den gesamten Code posten, er sollte den RD Befehl wohl auch nicht betreffen, der Laufwerkbuchstabe wird richtig angegeben.
Was genau bedeutet errorlevel 1 bei RD und unter welchen Umständen kann Code in der Konsole von einer Batch Datei abweichen? Beide haben Adminrechte.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 353713
Url: https://administrator.de/contentid/353713
Ausgedruckt am: 23.11.2024 um 10:11 Uhr
11 Kommentare
Neuester Kommentar
Und schon wieder ohne Begrüssung!
Regel Nr. 1: Netiquette
Vergisst Du auch im realen Leben das Grüssen?
Und der Errorlevel 1 ist unabhängig von der Aktion.
Prüfe es mit. Ersetze <x> sinngemäß.
Errorlevel 1 heißt "Unzulässige Funktion" unter Windows 7, 8, 10.
Gruss Penny
Regel Nr. 1: Netiquette
Vergisst Du auch im realen Leben das Grüssen?
Und der Errorlevel 1 ist unabhängig von der Aktion.
Prüfe es mit
net helpmsg <x>
Errorlevel 1 heißt "Unzulässige Funktion" unter Windows 7, 8, 10.
Gruss Penny
Hallo,
und hier derTechNet Artikel.
Das ist egal, ob ich oder angebe. Es ergibt immer dieselbe Meldung zurück.
Die führenden Nullen kann man weglassen.
Und außerdem ist Net helpmsg nicht nur für Netzwerkfehler, sondern zeigt den Fehlercode auch für lokal an.
ergibt "Zugriff verweigert", unabhängig davon ob der Zugriff lokal oder auf einem Netzwerkshare erfolgt.
Gruss Penny
und hier derTechNet Artikel.
Das ist egal, ob ich
net helpmsg 0001
net helpmsg 1
Die führenden Nullen kann man weglassen.
Und außerdem ist Net helpmsg nicht nur für Netzwerkfehler, sondern zeigt den Fehlercode auch für lokal an.
net helpmsg 5
Gruss Penny
Das heißt aber trotzdem nicht, daß man die Begrüssung außer acht läßt.
Windows Updates?
Was sagt den die Ausgabe, wenn Du Echo On setzt?
Wird der Befehl nun korrekt ausgeführt oder nicht?
Das Programm wurde ja getestet und der Befehl somit nicht falsch angewendet.
Was für ein Programm wurde getestet? oder meinst Du das Batchfile?
Wichtig ist nur daß Schreibfehler usw. weiterhin zu einer Fehlermeldung führen.
Welche Schreibfehler meinst Du? Erkläre dies.
Gruss Penny
Das kann aber nicht die richtige Lösung für den RD Befehl zu sein. Wenn eine Funktion unzulässig ist kann sie ja nicht durchgeführt werden und sie arbeitet sowohl in der Batch als auch in der Konsole erfolgreich und vor allem hatte ich den Fehler zuvor nicht, erst heute.
Und was wurde in der Zwischenzeit geändert?Windows Updates?
Was sagt den die Ausgabe, wenn Du Echo On setzt?
Wird der Befehl nun korrekt ausgeführt oder nicht?
Wenn es nur um Unzulässigkeit geht könnte ich natürlich den errorlevel 1 als zulässig.
Was jetzt? Ist es zulässig oder unzulässig? - Du widersprichst Dir selber.Das Programm wurde ja getestet und der Befehl somit nicht falsch angewendet.
Was für ein Programm wurde getestet? oder meinst Du das Batchfile?
Wichtig ist nur daß Schreibfehler usw. weiterhin zu einer Fehlermeldung führen.
Welche Schreibfehler meinst Du? Erkläre dies.
Gruß,
Gruss Penny
Die CMD ist von Leuten entwickelt worden, die extrem abhängig von haluzinogenen Substanzen waren
https://stackoverflow.com/questions/11137702/batch-exit-code-for-rd-is-0 ...
Mit an Sicherheit grenzender Wahrscheinlich kommt weder Errorlevel 0, noch 1 vom RD Befehl.
Steffen
https://stackoverflow.com/questions/11137702/batch-exit-code-for-rd-is-0 ...
Mit an Sicherheit grenzender Wahrscheinlich kommt weder Errorlevel 0, noch 1 vom RD Befehl.
Steffen
Moin Anmelder,
Der Errorlevel 1 kommt durch die fehlende Maskierung der Sonderzeichen in der FOR-Anweisung. Zeichen wie das Pipe-Zeichen, Kleiner, Ampersand müssen mit einem Caret innerhalb einer FOR-Klammer maskiert werden - sonst nicht.
Ausserdem kannst du ERRORLEVEL nicht löschen, weil der Wert volatil bei jeder Abfrage aus einem internen Register ermittelt wird.
Den Errorlevel über Bande wieder auf 0 zu setzen mit irgendeinem Befehl wie CD war aber die richtige Idee.
Grüße
Biber
Der Errorlevel 1 kommt durch die fehlende Maskierung der Sonderzeichen in der FOR-Anweisung. Zeichen wie das Pipe-Zeichen, Kleiner, Ampersand müssen mit einem Caret innerhalb einer FOR-Klammer maskiert werden - sonst nicht.
Ausserdem kannst du ERRORLEVEL nicht löschen, weil der Wert volatil bei jeder Abfrage aus einem internen Register ermittelt wird.
Den Errorlevel über Bande wieder auf 0 zu setzen mit irgendeinem Befehl wie CD war aber die richtige Idee.
Grüße
Biber