windows - hvordan denne fejlfinding bliver sat?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har ikke arbejdet med DOS meget, da der altid var shell scripting i Unix, som var mere kraftfulde. Første gang jeg arbejder på Windows og ikke ved meget om DOS/Batch script.


Jeg forsøgte at skrive et lille script til at genstarte fjernmaskinen.
Mens jeg lavede script sofistikeret, lærte jeg om miljøet var\% ERRORLEVEL\%, hvilket er en slags returkode fra den sidste sporet kommando.


I Unix, hvis kommandoen kører, men ikke producerer lystresultatet eller en fejlmeddelelse, er fejlkoden ikke nul.
Som jeg forsøger remote shutdown og leverer vært, der ikke findes i netværket. Det står at 'Netværkssti ikke fundet', men\% ERRORLEVEL\% er stadig nul. Det er helt punkt at stille dette spørgsmål.


Skal jeg indfange noget andet, da\% ERRORLEVEL\%, da Zero er udpeget til at køre succesfuld kommando, og det ændrer ikke\% ERRORLEVEL\%, når du kaster 'Netværkssti ikke fundet', hvad skal jeg fange for at få det rigtige?


shutdown command I am using: 

shutdown -r -f -t \%DELAYOF\% -m \\%COMPNAME\% -c \%COMMENT\%


Når jeg giver ugyldig værdi, giver\% COMPNAME\%, siger det hurtigt 'netværkssti ikke fundet', men\% EERORLEVEL\% ændres ikke.

Bedste reference


Svaret på dit problem - fejlniveauet er, at\% compname\% ikke er en miljøvariabel, men\% computername\% er.


Prøv dette: (ikke testet)


shutdown -r -f -t \%DELAYOF\% -m \\%COMPUTERNAME\% -c \%COMMENT\%


Hvis dette ikke er det du leder efter, kan du venligst skrive dit script, så vi kan se på det, i det mindste de dele, der er afhængige af dette uddrag.


Hvad angår\% ERRORLEVEL\%, skal du prøve at placere dette foran din kommando


verify >nul
shutdown -r -f -t \%DELAYOF\% -m \\%COMPNAME\% -c \%COMMENT\%
echo.\%ERRORLEVEL\%>yourfile.txt


verify >nul vil holde din errorlevel blank, så du ikke fanger den fra et andet sted.

Andre referencer 1


På netnavn ikke fundet, skal det returnere en fejlfrekvens på 53. I det mindste gør min test på Win7.


Sørg for, at testen for errorlevel følger umiddelbart shutdown-kommandoen.