Как узнать расположение директории Рабочего стола через Командную строку

  • 50
  • 0
  • 100,00%
  • 3

Использование переменной %USERPROFILE%

На первый взгляд в этой задаче нет ничего такого особо сложного, и на многих ресурсах предлагают воспользоваться банальной комбинацией переменной %USERPROFILE% и дальнейшего добавления к ней в адрес директории Desktop - %USERPROFILE%\Desktop. Конечно такой вариант имеет право на жизнь, за исключением того, что:

  • По умолчанию, в русской версии Windows XP путь будет выглядеть не как %USERPROFILE%\Desktop, а как %USERPROFILE%\Рабочий стол.
  • По умолчанию, в английской версии Windows XP в свою очередь путь будет выглядеть именно как %USERPROFILE%\Desktop.
  • Возможно нестандартное расположение директории рабочего стола, за пределами директории профиля пользователя. В таком случае выше приведенная конструкция тем более не будет работать.

В таком случае, единственным рабочим вариантов в данной ситуации будет обращение к реестру, где хранится расположение директории рабочего стола пользователя.

Использование реестра

Информация о расположении директории Рабочего стола в реестре хранится в ветке реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders, в параметре под названием Desktop. Вот так выглядит рабочий вариант скрипта, который извлекает актуальный путь к директории рабочего стола, и присваивает его переменной DESKTOP:

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=%%


Поделиться

Добавить комментарий

Ваш e-mail не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.