Переменные среды для встроенных библиотек Windows?

Windows 7 определяет переменные среды для существующих ранее Библиотек? Мне любопытно, потому что я часто использую их, когда ввод пути Открывается/Сохраняет диалоговые окна или от Run подсказка. Например, для получения до каталога настроек Firefox текущего пользователя, run:

%APPDATA%\Mozilla\Firefox

Это - удобный ярлык, и я надеялся найти что-то подобным для путей к библиотеке. Например:

%LIBRARIES%\Music\
%MUSIC%\

Я понимаю, что агрегат библиотек одна или несколько папок верхнего уровня, таким образом, могла быть неоднозначность. Microsoft имеет список переменных среды, но большинство не доступно с помощью Windows UI. Этот вопрос также связывается с хорошим списком, но не включает пользователя Documents папка, Music папка, и т.д.

3
задан 09.05.2017, 20:22

2 ответа

Windows Libraries на самом деле справедлив xml файлы, которые определяют, как отобразить набор папок. Они отображены с помощью специального расширения оболочки, которое встроено к Windows. Так как они не реальные папки, к файлам и подпапкам нельзя получить доступ непосредственно через путь.

С открытым окном проводника можно ввести в строке поиска:

libraries\music

Это, кажется, не работает от File Name поле открывается/сохраняет диалоговые окна. И при этом это не работает с run команда.

Что можно делать с этим:

Windows Vista представил "Известные Папки" понятие. Это заменяет более старый "постоянный специальный идентификационный список объекта" (CSIDL) методология, используемая в XP. В Windows Blog существует превосходное сообщение; это обсуждает это изменение и предоставляет обзор *.library-ms файловая структура.

Известные Папки имеют GUID. Для доступа к ним через командную строку снабдите префиксом URI knownfolder:. Существуют определенные десятки. Получить доступ к текущему пользователю Music папка, например, run следующая команда:

knownfolder:{4BD8D571-6D19-48D3-BE97-422220080E43}

Это получит Вас к предопределенной музыкальной папке по умолчанию. Так, при изменении папки библиотеки это не будет, к сожалению, работать.

К папке библиотеки по умолчанию можно получить доступ программно при помощи интерфейса IShellLibrary, но это вне объема моего исходного вопроса. Кажется, что лучший подход к также:

  1. Вручную отобразите переменные среды на их известный путь
  2. Или вручную переменные среды карты с помощью их GUID. Преимущество здесь состоит в том, что Вы делаете это системной переменной и имеете его работа для всех пользователей).
6
ответ дан 07.12.2019, 23:03

Если Вы хотите %music% для указания на музыкальную папку затем, Вы просто добавляете новую переменную окружения к своей системе.

Если Вы хотите %Libraries% укажите на свои библиотеки, затем делают ярлык на c:\, например, и затем создайте новую переменную окружения, указывающую на Ваш c:\libraries ярлык. (но ввод непосредственно в подпапки не будет работать, но можно создать новую переменную для тех, которые находятся в Библиотеках),

Можно затем назвать их обоих от выполненного с %music% или %Libraries%

4
ответ дан 07.12.2019, 23:03

Теги

Похожие вопросы