Bonjour,
j'essaye d'écrire un script pour supprimer des clés de registre mais je bloque sur une boucle imbriquée.
L'idée est donc de faire une recherche dans la base de registre à partir d'une chaine.
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 REM la variable à modifier selon la recherche. set str=test REM TODO str en %1:~1,-1 rem parce que c'était une clé avec peu de valeur str=test, mais définit le point de départ de la recherche set key=HKLM\SOFTWARE\Classes\Interface for /f "tokens=1" %%i in ('reg query %key% /s /f %str%') do ( for /f "tokens=1" %%p in ('echo '%%i' ^| findstr "%key:~4%"') do ( rem si %%p:~4 != key:~4 rem set ckey=%%p rem reg export %ckey%%%i backup.reg rem reg delete %ckey%%%i rem sinon ckey=%%p ) )
A partir de ce résultat, si la ligne est un chemin, mettre à jour ckey puis exporter la clé avant de la supprimer.
Sauf que je ne parviens pas à récupérer le chemin de la clé pour pouvoir l'exporter.
J'ai rajouté quelques commentaires pour que ce soit un peu plus clair sur le code.
Si une bonne âme voulait bien me donner un coup de pouce. ^^'
Partager