[BATCH]tester la valeur d'un clé de registre.

tester la valeur d'un clé de registre. [BATCH] - Shell/Batch - Programmation

Marsh Posté le 15-12-2010 à 17:45:05    

Bonjour
 
Je souhaite tester la valeur d'une chaine dans une clé de registre.
Tester la présence d'une chaine dans une clé de registre, ca je sais faire :

Code :
  1. reg query HKEY_CURRENT_USER\blabla /v ma_chaine.


 
Mais comment tester si cette chaine vaut telle ou telle valeur ?


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 15-12-2010 à 17:45:05   

Reply

Marsh Posté le 16-12-2010 à 20:32:03    

avec un for sur la commande
 
EX  :    for /f "tokens=3 " %i in ('reg query "HKCU\Console" /v "FontSize" ^| find "FontSize" ') do echo %i
 
Mais bon vbs reste bien plus pratique ;)

Message cité 1 fois
Message édité par Xspawn_Lpc le 16-12-2010 à 20:32:17

---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
Reply

Marsh Posté le 16-12-2010 à 21:14:35    

Xspawn_Lpc a écrit :

avec un for sur la commande
 
EX  :    for /f "tokens=3 " %i in ('reg query "HKCU\Console" /v "FontSize" ^| find "FontSize" ') do echo %i
 
Mais bon vbs reste bien plus pratique ;)


Ouep, je suis parti sur du vbs.
A contrario, j'arrive pas à faire un équivalent à "if regexist", mais je récupère très bien la valeur de ma clé quand elle existe.
J'ai fais le porc avec un "on error resume next", je lis ma clé, si la valeur c'est "" je sais que la clé n'existe pas.
Tu parles d'un codage de sagouin...
Mais ça marche


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 04-09-2013 à 14:22:15    

Hello,
 
Petit remontage de topic pour partager la commande que je cherchais:
 
Le script suivant vérifie la présence d'une valeur dans une clé de registre et l'ajoute le cas échéant.
 

Code :
  1. set reg_path=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
  2. set reg_key=ProxyOverride
  3. set reg_type=REG_SZ
  4. set reg_value=192.*
  5. FOR /f "tokens=3" %%i IN ('reg query "%reg_path%" ^| find "%reg_key%"') DO FOR /f %%j IN ('echo "%%i" ^| find /c "%reg_value%"') DO (
  6. IF %%j == 0 (reg add "%reg_path%" /v "%reg_key%" /t %reg_type% /d "%reg_value%;%%i" /f)
  7. )


 
Ici, le script recherche la valeur "192.*" dans les exceptions au Proxy des parametres IE et l'ajoute s'il ne la trouve pas.
(le "/f" du REG ADD force l'écrasement des valeurs existantes sans confirmation)
 
EnJoY !  ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed