Variables globales dans script bat
Bonjour
Voici le contexte:
j'ai un script batch qui va être appeler par une tâche planifiée à une fréquence F.
Ce script appel une commande externe qui retourne un résultat.
Mon objectif est de déclencher une action au bout de x retour consécutif en erreur à la fonction externe
Voici ce que j'ai fait
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
@echo off
set NB_ERROR=0
setlocal enableDelayedExpansion enableextensions
FOR /f "delims=" %%a in ('ICI Commande externe') DO (
echo %%a
IF "%%a%"=="VALUE" (
rem ECHO "FAILED"
set /A NB_ERROR+= 1
)
)
ENDLOCAL
ECHO %NB_ERROR%
IF %NB_ERROR% EQU 1 (
ECHO "FAILED"
) |
Ce qui ne fonctionne pas c'est que la variable NB_ERROR n'est pas persistée.
J'ai cru comprendre qu'il faut utiliser setx mais le problème est que je suis dans windows 2008 server
Si vous avez une idée je suis preneur
Merci