Batch - detecter une entrée dans le registre

Batch - detecter une entrée dans le registre - Win 7 - Windows & Software

Marsh Posté le 08-03-2011 à 19:33:39    

Salut à tous, je voudrais faire un batch qui détecte si une entrée dans le registre existe et répond en gros oui ou non
donc j'ai la commande
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f "rundll32.exe user32.dll,LockWorkStation"
qui me donne comme résultat:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    lockdown    REG_SZ    rundll32.exe user32.dll,LockWorkStation
 
Fin de la recherche: 1 correspondance(s) trouvée(s)."
je souhaite donc stocker le "1" ou le "0" de la ce résultat dans une variable pour faire un if
j'ai essayé:
-FOR /f "tokens=5 delims= "  %%i IN ('reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f "rundll32.exe user32.dll,LockWorkStation" | find "Fin"') DO echo %%i  
pour recuperer le 5ème mot dans la commande => le batch "plante" (fin inattendue et se ferme, ça semble être dû aux apostrophes)
-set reg=reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f "rundll32.exe user32.dll,LockWorkStation"  
FOR /f "tokens=5 delims= "  %%i IN (%reg% | find "find" ) DO echo %%i  
même résultat
-reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f "rundll32.exe user32.dll,LockWorkStation" | find "fin" > test.txt
FOR /f "tokens=5 delims= "  %%i IN (test.txt) DO set p=%%i  
echo %p%
=> la ça ne plante pas mais la variable est vide (ça me met un "commande ECHO désactivée" ), j'ai aussi essayé avec juste un echo %%i, même resultat
Quelqu'un pourrait m'expliquer ou je me plante?
Ou si vous voyez une autre méthode pour le faire sinon :/
Merci d'avance :o

Reply

Marsh Posté le 08-03-2011 à 19:33:39   

Reply

Sujets relatifs:

Leave a Replay

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