Bach : si existe clef registre faire :

Fermé
Albert49 - 21 févr. 2014 à 18:48
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 28 févr. 2014 à 15:31
Bonjour à tous,

je cherche la bonne syntaxe pour rechercher si une clef registre est présente et faire une action.
Si elle n'est pas présente ne pas faire l'action.

J'ai essayé

If exist "Clef registre" "Action à faire"

mais ça ne marche pas

6 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
22 févr. 2014 à 08:11
hello
reg query clé_registre > NUL
if %errorlevel% EQU 0 (
echo clé ok
) else (
echo clé not ok
)
0
Hello,

J'ai essayé, mais cela ne semble pas fonctionner. Voilà ce que j'ai fait.

reg query "clé_registre" > NUL
if %errorlevel% EQU 0 (
call "chemin fichier à exécuter"
) else (
gotoend
)

:end
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
22 févr. 2014 à 10:43
qu'est ce qui ne fonctionne pas ?
0
Il ne semble pas tenir compte si la clef registre est présente ou non pour faire l'action.

Si je fais ce code, il fait l'action même si le code n'existe pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 23/02/2014 à 09:49
essayer reg quey clé en interactif voir ce qu'il retourne
exemple:
C:> REG Query "HKLM\SYSTEM\MountedDevices" > NUL
C:> echo %errorlevel%
0
C:> REG Query bidon > NUL
Erreur : nom de clé non valide
C:> echo %errorlevel%
1
C:>
0
Bonjour,

En faite le code ne tient pas compte de l'action à faire en fonction si la clef registre existe ou non.

Il fait les opérations une à une.

J'ai tenté :

reg query "CLEF REGISTRE"
if %errorlevel% EQU 1 (
goto FinBoucle
) else (
Call Programme.exe
goto :eof
)

:FinBoucle


La clef registre existe bien. Et cela fonctionne, mais si la clef registre n'est pas présente je reçois un message d'erreur comme quoi le programme n'a pas été trouvé (ce qui est normal, car si la clef registre 'existe pas le programme n'est pas présent). Je souhaiterais donc ne plus avoir ce message.
Merci
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 25/02/2014 à 15:25
si la clé n'existe pas errorlevel vaut 1 donc doit exécuter le goto
que donne ca ? : https://forums.commentcamarche.net/forum/affich-29749088-bach-si-existe-clef-registre-faire#5
essayer
reg query "CLEF REGISTRE" > NUL 2>&1
if %errorlevel% NEQ 0 (
goto FinBoucle
) else (
Call Programme.exe
goto :eof
)
0
Bonjour,

cela ne fonctionne pas, il fait les opérations une à une. Malgré le registre si la clef de registre n'existe pas il tente de lancé le programme...
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
28 févr. 2014 à 15:31
montre l'exécution de ces commandes
reg query "cle qui existe" > NUL 2>&1
echo %errorlevel%
reg query "clé qui n'existre pas" > NUL 2>&1
echo %errorlevel%
0