Salut,
j'utilise un petit batch qui extrait des valeurs du registre et les affecte à des variables :
ç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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ) [...]
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.
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
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
Est-ce que vous auriez une suggestion qui soit à peu près dans cet esprit ?
Merci![]()
Partager