1

Мне нужно расширение, которое дает текущее местоположение публичных документов. %PUBLIC% расширяется до C:\Users\Public, но я не нашел эквивалента для публичных документов.

%PUBLICDOCUMENTS% , %COMMONDOCUMENTS% и %SHAREDDOCUMENTS% не распознаются Windows 7. Моя папка общедоступных документов обычно не находится в папке% PUBLIC%\Documents, поэтому я не могу ее использовать.

Есть ли один, который я могу использовать? (Где-нибудь есть полный список? Запуск set в командной строке не показывает %PUBLIC% , и я знаю, что он существует. Есть ли другие, которые не придумали set?)

1 ответ1

1

Для общих документов нет переменной среды. Я думаю, у вас есть два варианта:

  1. Создайте переменную самостоятельно и установите значение вручную
  2. Вы понимаете это динамически, когда запускается пакетный файл (я бы порекомендовал это)

Для варианта 1 просто создайте переменную и установите значение C:\Users\Public . Смотрите этот вопрос для более подробной информации о переменных среды.

Для варианта 2 просто прочитайте значение из значения реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Documents в переменную и затем используйте его.

Вот команда для этого (Источник: http://www.robvanderwoude.com/ntregquery.php)

FOR /F "tokens=3*" %%A IN ('REG.EXE QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /V "Common Documents" 2^>NUL ^| FIND "REG_SZ"') DO SET CommonDocs=%%B

Выход:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .