Mijn batch voert het commando 2x uit. Hoe kan dit?

Status
Niet open voor verdere reacties.

Tijger81

Gebruiker
Lid geworden
2 jan 2010
Berichten
397
Hallo, Een tijdje geleden heb ik dankzij jullie een batch gecreerd die werkt met de ALS functie.De batch werkt goed, alleen in bepaalde gevallen voert hij het commando 2x uit.
En dat is vaak als het "IF errorlevel 1, ........." is. Hoe kan dit?
Dan start hij niet de service opnieuw, maar voert hij zac cc en zac ref nog een keer dubbel uit terwijl het al gebeurt is.

Dit is het commando wat wordt uitgevoerd:
Net start | find /i "novell zenworks agent service"
If errorlevel 1 echo Zenworks draait niet, wordt nu gestart && Net start "novell zenworks agent service" && "C:\Program Files (x86)\Novell\ZENworks\bin\zac.exe" cc && "C:\Program Files (x86)\Novell\ZENworks\bin\zac.exe" ref
If not errorlevel 1 echo Zenworks draait al && "C:\Program Files (x86)\Novell\ZENworks\bin\zac.exe" cc && "C:\Program Files (x86)\Novell\ZENworks\bin\zac.exe" ref
Exit
 
Verklaring zal zijn dat eerst Zenworks niet gestart was, dus de commando's op die regel worden uitgevoerd. Die commando's zetten errorlevel weer op 0 (want zijn succesvol uitgevoerd), zodat de regel er onder óók wordt uitgevoerd.

Zou dus eigenlijk anders moeten. Test dit eerst even goed:
Code:
Net start | find /i "novell zenworks agent service"
If errorlevel 1 CALL :ZW_START
If not errorlevel 1 echo Zenworks draait al && "C:\Program Files (x86)\Novell\ZENworks\bin\zac.exe" cc && "C:\Program Files (x86)\Novell\ZENworks\bin\zac.exe" ref
EXIT
:ZW_START
echo Zenworks draait niet, wordt nu gestart
Net start "novell zenworks agent service"
"C:\Program Files (x86)\Novell\ZENworks\bin\zac.exe" cc
"C:\Program Files (x86)\Novell\ZENworks\bin\zac.exe" ref
EXIT /B 1

Die EXIT /B 1 zou errorlevel op 1 moeten zetten.

Tijs.
 
Laatst bewerkt:
Deze werkt wel correct en niet dubbel! Dank je.
Ik heb wel ff ZW_START veranderd in Zenworks_start. Vond ik mooier.:D
 
Ok, fijn dat je ermee geholpen bent.

Graag nog de vraag als opgelost aangeven, zoals je met je vorige vraag ook gedaan hebt.

Tijs.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan