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 : Sélectionner tout - Visualiser dans une fenêtre à part
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