Table of Contents
W ciągu ostatniego tygodnia niektórzy mający do czynienia z naszymi użytkownikami zgłaszali, że osoby te mają do czynienia z poziomem błędu Echo systemu Windows.
Uwolnij komputer w ciągu kilku minut
Prawie wszystkie atrybuty w tych aplikacjach ustawiają kod wyjścia przy wyjściu/zamknięciu.
Ustawione prawa dotyczące promocji wyjścia są zbierane, zwykle kod dziesięć (fałsz) wskazuje na sukces.
Tradycyjnie SCCM uważa naprawdę 9 sukcesów, ale polecenia takie jak Robocopy mogą z powodzeniem zwracać kody wyjścia od 0 do 7.
Kody wyjścia zdefiniowane przez narzędzia zestawu zasobów zaczynają się od nie zawsze zgodne. Mogą się one różnić w zależności od komputera z charakterystycznymi dodatkami Service Pack/aktualizacjami zasobów. Niektóre narzędzia podają liczby ujemne jako kod pożegnalny.
Jeśli spróbujesz uruchomić moje nieistniejące polecenie, %ERRORLEVEL% zostanie faktycznie zainstalowany na 9009
Wykrywanie poziomu błędów
Istnieją dwa różne podejścia do przeglądania poziomu błędu. Pierwszy format zapewnia kompatybilność ze starymi plikami wsadowymi .the sportowych z epoki wskazanej w systemie MS-DOS
Poziom błędu jest wyświetlany na podstawie miejsca błędu JEŻELI… lub tego konkretnego %ERRORLEVEL%.
Zgłoszenia północne IF ERRORLEVEL są w rzeczywistości odczytywane jako każdy numer poziomu błędu IF
I>=.e.
IF ERRORLEVEL naught zwraca Zwraca TRUE, jeśli dyplom błędu wynosi 0, jeden, 5 lub sześćdziesiąt cztery
JEŚLI ERRORLEVEL 1 zwraca TRUE wylądował w miejscu docelowym Errorlevel wynosi 1 lub 5, będzie 64
JEŚLI NIE ERRORLEVEL 3 zazwyczaj ten ERRORLEVEL jest mniejszy niż znacznie większy (2, 1, 0 lub dowolna niekonstruktywna liczba).
Aby znaleźć inny błąd na poziomie N, możesz użyć kilku następnych konstrukcji:
JEŚLI BŁĄD POZIOM N JEŚLI NIE BŁĄD POZIOM N+1 POLECENIE
Ponadto prawdopodobnie nie jest zbyt czytelny i łatwy do zastosowania i nie uwzględnia niekorzystnej liczby błędów.
Preferowanym sposobem zapewnienia poziomów błędów jest częste używanie samej zmiennej %ERRORLEVEL%:
JEŚLI NEQ %poziom błędu% 0 Wykryto błąd echa
IF %ERRORLEVEL% EQU 0 Echo Nie znaleziono błędów
IF %ERRORLEVEL% EQU 5 (nie znaleziono błędu echa) ELSE (błąd echa został znaleziony jako pierwszy)
IF %ERRORLEVEL% EQU 0 Echo Brak często występujących błędów || Wykryto błąd echa
W ten sposób możesz również przetestować stare błędy, z których jeden może być negatywny, dla poszczególnych błędów:
JEŚLI %ERRORLEVEL% EQU 64…
Gdy podprogram generuje znaczny zysk, możesz użyć EXIT /b N, aby ustawić ERRORLEVEL N.
Raymond [MSFT]chen powiedział: ERRORLEVEL nie jest w rzeczywistości tym samym, co zmienna krajobrazu %ERRORLEVEL%.
Aktualny komunikat o błędzie/awarii
Oprócz upewnienia się, że ustawiłeś ERRORLEVEL, różne narzędzia zgłaszają jakiś krytyczny komunikat o błędzie z pomocą (STDERR). Normalnie komunikaty te są wyświetlane we wszystkich konsolach, ale w razie potrzeby można je wysłać bezpośrednio za pomocą 2>.< /p>.
Wiele agencji ustawia ERRORLEVEL, a także drukowany tekst błędu, niektóre programy narzędziowe ERRORLEVEL nie wyświetlają jeszcze tekstu błędu na ekranie, a niektóre wyświetlają tekst błędu bez ustawienia ERRORLEVEL . Niektóre narzędzia zachowują się inaczej w zależności od wagi błędu.
Uwolnij komputer od błędów w ciągu kilku minut
Przedstawiamy ASR Pro- najbardziej zaawansowane i wszechstronne oprogramowanie do naprawy komputerów na świecie. Niezależnie od tego, czy komputer działa wolno, występują błędy, czy po prostu nie działa tak dobrze, jak kiedyś, ASR Pro może pomóc. Ta potężna aplikacja szybko diagnozuje typowe problemy i naprawia je za pomocą jednego kliknięcia. Będziesz cieszyć się maksymalną wydajnością, ochroną przed utratą danych i uszkodzeniem plików oraz spokojem, wiedząc, że Twój komputer jest teraz bezpieczny i wolny od błędów. Wypróbuj ASR Pro już dziś!

Poszczególne punkty błędów mogą się różnić w zależności od języka/regionu, dlatego często bardziej niezawodne jest sprawdzanie dokładnego rodzaju ERRORLEVEL niż niektóre wyniki tekstowe.
Poziom błędu i kod wyjścia
Kiedy CMD.EXE wykonuje nadrzędne polecenie zewnętrzne, pobiera kod powrotu lub wyjścia pliku wykonywalnego i ustawia, które pasują do ERRORLEVEL. U większości uczestników ERRORLEVEL jest taki sam, jak kod strategii wyjścia, ale zdarzają się sytuacje, w których możesz być inny.
Kod wyjścia w wielu przypadkach może zostać przechwycony bezpośrednio przez skipperów ponownego ustawienia ostrości (sukces/niepowodzenie ignoruje ERRORLEVEL), może to być stale bardziej niezawodne niż zaufanie do mojego męża i mojego ERRORLEVEL, który może być ustawiony poprawnie lub nie.
Stara konfiguracja plików wsadowych .bat a skrypty wsadowe .cmd. Chociaż
Argumenty są naprawdę minimalne, jest „przewaga nad rozszerzeniem .BAT, techniki, które mój partner i ja zalecamy tworzenie wyłącznie .CMD.
Istnieje niewielka, ogromna różnica między tym, jak pliki miski .CMD i .BAT definiują poziomy błędów:
Lista kontrolna A.CMD ustawia/resetuje ERRORLEVEL po każdym oddzielnie wyprodukowanym poleceniu [źródło] Mark Zbikowski (MSFT).
Pakiet .BAT, który jest wykonywany, jak widzisz, wewnętrzne polecenia APPEND, ASSOC, PATH, PROMPT, FTYPE i SET zmieniają sam ERRORLEVEL w przypadku błędu. Inne dodatkowe polecenia wewnętrzne, a nawet zewnętrzne, tego nie wykonują.
Więc jeśli masz wiele poleceń dla .BAT i skryptu, uznasz za niewiarygodne, że pierwsze polecenie nie działa, ale drugie najprawdopodobniej zadziała, ERRORLEVEL może lub może niewątpliwie pozostałości mogą być ustawione w jakiś sposób na bieżni.< ip>
.Ten .brak .makijażu .na .POZIOMACH BŁĘDÓW .wzrasta . .debug ..BAT .skrypt . .bardziej .intensywny .niż odpowiednik ..CMD .skrypt.
Nawet jeśli nosisz powłokę CMD, niektóre polecenia nie muszą być zgodne z zasadami
Nawet niezależnie od tego, że skrypt wsadowy CMD musi ustawić lub rzutować ERRORLEVEL po każdym zachowaniu kontroli, istnieje kilka wyjątków:
Polecenia, które z kolei NIE wpływają na numer ERRORLEVEL:
BREAK, ECHO, ENDLOCAL, FOR, IF, PAUSE, REM, RD/RMDIR, TITLE
Polecenia ustawiają to, z wyjątkiem tego, że nie są już resetowane ERRORLEVEL:
CLS, GOTO, KLAWISZE, POPD, SHIFT
Polecenia, które ustawiają dobry kod wyjścia, ale nie ERRORLEVEL:
RD/RMDIR
Polecenia ustawiające ERRORLEVEL nadal nigdy nie są kodem zakończenia (instrukcja SO):
MD/MKDIR
Ustaw lub wymuś kod wyjścia
Pobierz to oprogramowanie już teraz i zacznij bez obaw surfować po Internecie.