Šta je novo?

pristup sistem enviroment variable

VUCKO-91

Slavan
Učlanjen(a)
21.08.2008
Poruke
330
Poena
319
Imam sledecu situaciju u batch skritpi:

NekiProgram.exe
IF ERRORLEVEL 1 (
RADI NESTO
) ELSE (
RADI NESTO DRUGO
)

Pre ovog dela je pozvano vise .bat skripti

Problem je sto NekiProgram.exe vraca ispravnu vrednost, ali u ERRORLEVEL varijabli se pojavljuje 0 koja ne bi trebala da bude tu ako je povratna vrednost od NekiProgram.exe bila 1.

Da li tu varijablu cmd.exe deli sa ostalim cmd.exe ili svaki ima svoju ?
 
Svaki cmd prozor ima svoju ERRORLEVEL varijablu. Tebi verovatno NekiProgram ne postavlja dobro ERRORLEVEL.
Ovako radi kod mene... Napravio sam NekiProgram.exe koji postavlja ERRORLEVEL na vrednost 42. Otvorio sam dva cmd prozora. Na početku je u oba prozora ERRORLEVEL jednak 0. U jednom prozoru startujem bat script koji nešto radi sa NekiProgram.exe. Nakon toga je u tom prozoru ERRORLEVEL = 42, a u drugom je ostao na nuli.
Prvi prozor:
Kod:
D:\>type test.bat
ECHO OFF
project2
echo %errorlevel%
IF ERRORLEVEL 42 (ECHO Jeste) ELSE (ECHO Nije)

D:\>echo %ERRORLEVEL%
0

D:\>test

D:\>ECHO OFF
42
Jeste

D:\>echo %ERRORLEVEL%
42

D:\>
Drugi prozor:
Kod:
D:\>echo %ERRORLEVEL%
0

D:\>echo %ERRORLEVEL%
0

D:\>
 
Nazad
Vrh Dno