Optimisation extraction variables
Salut,
j'utilise un petit batch qui extrait des valeurs du registre et les affecte à des variables :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop" > path.txt
FINDSTR "Desktop" path.txt > path2.txt
FOR /F "tokens=3 delims= " %%a IN (path2.txt) DO (SET Bureau=%%a
)
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" > path.txt
FINDSTR "Personal" path.txt > path2.txt
FOR /F "tokens=3 delims= " %%a IN (path2.txt) DO (SET Documents=%%a
)
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Programs" > path.txt
FINDSTR "Programs" path.txt > path2.txt
FOR /F "tokens=3 delims= " %%a IN (path2.txt) DO (SET MenuDemarrerPrograms=%%a
)
[...] |
ça marche très très bien mais je trouve la forme très moyenne, et je cherche à l'optimiser en imbriquant deux boucles, l'une qui teste les valeurs, l'autre qui teste les variables. C'est à bout de force que j'en suis arrivé à cette usine à gaz qui n'a rien de comparable :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| FOR %%I IN (
"Desktop"
"Personal"
"Programs"
"Startup"
"Start Menu"
"Favorites"
"Local AppData"
) DO FOR /F "tokens=3 delims= " %%G IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v %%I') DO (
ECHO %%G > Path.txt
FOR /F "tokens=*" %%C IN (Path.txt) DO FOR %%A IN (
Bureau
Documents
MenuDemarrerPrograms
Demarrage
MenuDemarrer
Favoris
LocalAppData
) DO SET %%A=%%G
)
pause |
le résultat a au moins le mérite d'être comique, toutefois ce code me permet de vous préciser quel type d'orientation je recherche.
Est-ce que vous auriez une suggestion qui soit à peu près dans cet esprit ?
Merci ;)