Если Desktop местоположения в другую папку только это будет правильный ответ:
Batch строка:
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 (Работает с пробелами) 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
Если у вас есть n на-ASCII символов, вы также должны преобразовать кодировку ANSI в OEM, пример для кириллицы:
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
Затем просто использовать:
echo %DESKTOP%
Вы должны указать версию Windows (* IF *, вы находитесь под окнами), вопрос (без версии ОС) ** не имеет ** уникального ответа. – gmo