Jeśli Pulpit lokalizacje w innym folderze tylko będzie to poprawna odpowiedź:
Batch ciąg:
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 (działa ze spacjami) 10.04.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
Jeśli masz n na ASCII symbole, trzeba także konwertować kodowanie ANSI na OEM, przykładem dla cyrylica:
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
Następnie wystarczy użyć:
echo %DESKTOP%
Musisz podać wersję systemu Windows (* JEŻELI * jesteś pod oknem), pytanie (bez wersji OS) ** nie ma ** unikatowej odpowiedzi. – gmo