Je fais un simple fichier de commandes pour copier des dossiers et des fichiers situés sous le même chemin des fichiers de commandes sur le bureau. Je peux facilement obtenir le chemin où se trouve le fichier de commandes à l'aide de
%~dp0
mais je veux savoir comment obtenir le chemin du bureau de l'utilisateur (j'utilise Widows 7 Ultimate)
Aucune suggestion?
Je pense que celui-ci devrait être ok aussi
%systemdrive%\Documents and Settings\All Users\Desktop
Cordialement
Je suppose que vous êtes sous Windows, donc %USERPROFILE%\Desktop
devrait être ok
C'est l'emplacement du bureau des utilisateurs actuels:
%userprofile%\desktop
Si Bureau emplacements dans un dossier différent seulement cette réponse sera correcte:
Batch string:
for /f "usebackq tokens=3*" %%D IN (`reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop`) do set DESKTOP=%%D
V2 (Fonctionne avec des espaces) 4.10.2016:
for /f "usebackq tokens=1,2,*" %%B IN (`reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop`) do set DESKTOP=%%D
Si vous avez des symboles non-ASCII, vous devez également convertir le codage ANSI en OEM, exemple pour cyrillic:
CHCP 1251 >Nul
for /f "usebackq tokens=1,2,*" %%B IN (`reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop`) do set DESKTOP=%%D
CHCP 866 >Nul
for /f "delims=" %%i IN ('echo %DESKTOP%') do set DESKTOP=%%i
Ensuite, utilisez simplement:
echo %DESKTOP%
J'ai trouvé la réponse
Regedit /e /a dd.txt
"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
find /i dd.txt "Desktop" >d.txt
For /F "tokens=2 delims==" %%a in (d.txt) do set mydesktop=%%a
Environ ("USERPROFILE") & "\ Desktop"