Bonjour,
je vous contacte car je sèche sur l'utilisation d'une commande, sachant que je n'ai accès qu'à MS-DOS (exit les ajout de commandes type GREP qui me sauveraient la vie). Le plus simple est de vous montrer le bout de code posant souci:
Pour faire simple, je recherche une chaine de caractères dans le Path de Windows, s'il ne trouve pas "xxx" il va chercher "yyy" et renvoyer dans un message (OK ou NOK pour yyy et NOK pour xxx), s'il trouve "xxx" renvoyer un autre message (OK pour xxx), le tout est loggué sans souci.
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
24
25
26
27
28
29
30
31
32
33 REG QUERY "\\%1\HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path | FIND "xxx" if %ERRORLEVEL% NEQ 0 ( REG QUERY "\\%1\HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path | FIND "yyy" if /I %ERRORLEVEL% NEQ 0 ( REG QUERY "\\%1\HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path >> %LOG% echo [---------------------] >> %LOG% echo [ yyy IS NOK IN PATH ] >> %LOG% echo [---------------------] >> %LOG% ) else ( REG QUERY "\\%1\HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path >> %LOG% echo [--------------------] >> %LOG% echo [ yyy IS OK IN PATH ] >> %LOG% echo [--------------------] >> %LOG% ) REG QUERY "\\%1\HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path >> %LOG% echo [--------------------] >> %LOG% echo [ xxx IS NOK IN PATH ] >> %LOG% echo [--------------------] >> %LOG% ) else ( REG QUERY "\\%1\HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path >> %LOG% echo [-------------------] >> %LOG% echo [ xxx IS OK IN PATH ] >> %LOG% echo [-------------------] >> %LOG% )
Le problème est que je sèche sur un des serveurs que j'interroge, celui ci n'ayant pas directement "xxx" ou "yyy" dans son Path, mais un chemin du type "C:\Program~\yyy". Résultat des courses, un bon NOK ressort sur mon LOG(par chance les autres ont un joli %xxx% dans leur Path
)
Un collègue me dit que ca vient du couple IF + %ERRORLEVEL%, pourriez vous eclairer ma lantèrne sur ce souci?
Merci
Partager