Вы, наверное, знакомы с командами shell, которые позволяют открывать различные системные и пользовательские расположения. Например, команда shell:Libraries в Windows 7 открывает библиотеки. Я предлагаю вам посмотреть, откуда они берутся и как их применять для ускорения работы.
Чем удобны команды
Поскольку тема явно не новая, я предлагаю вам взглянуть на ее практическое применение в этой и следующей статьях. С помощью команд shell вы можете:
- быстро переходить к папкам, вводя их в поиск меню «Пуск», диалоговое окно «Выполнить» (WIN+R), адресную строку проводника
- создавать ярлыки к часто используемым расположениям
- использовать в реестре в качестве путей для команд
Запуск элементов ActiveX
Сначала я расскажу о реже упоминаемом источнике команд, а заодно и менее распространенном (но иногда очень нужном) способе их запуска.
Раздел реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
содержит список апплетов ActiveX, которые можно определить по наличию подраздела ShellFolder, Видите словесную связь с командой shell? Название подраздела реестра (GUID) можно использовать в качестве кода запуска, поставив после команды shell три двоеточия. Например, команда:
shell:::{22877a6d-37a1-461a-91b0-dbda5aaebc99}
открывает папку Недавние места. Она отличается от папки Недавние документы тем, что в ней не отображаются недавно открытые файлы, а только список мест (папок, поисков, элементов панели управления), которые вы недавно открывали в проводнике и диалоговых окнах. К этой папке мы вернемся в следующей статье, в рамках рассказа о тонкой настройке окон «Открыть» и «Сохранить как».
Проводник Windows (explorer) понимает команды shell в качестве параметров командной строки, что можно использовать для команд в реестре. Так, в контекстные меню папки, рабочего стола и компьютера можно добавлять команды для открытия элементов панели управления, системных и пользовательских папок.
explorer shell:::{22877a6d-37a1-461a-91b0-dbda5aaebc99}
Получение списка элементов ActiveX
Получить список элементов проще всего с утилитой CLSID Dump, которая является разработкой моего коллеги с winreview.ru. Она как раз и фильтрует нужный раздел реестра, извлекая сведения обо всех элементах ShellFolder и отображая список апплетов ActiveX.
Увеличить рисунок
С помощью утилиты очень удобно находить нужные элементы, поскольку она отображает как английское, так и русское название, а также позволяет отсортировать их по алфавиту. Элемент можно сразу запустить и посмотреть, и если он полезен, тут же создать ярлык, не прилагая усилий. Вы также можете скопировать GUID в буфер обмена, что пригодится при использовании команд в реестре. Наконец, можно экспортировать список в HTML.
Переход в известные папки
Более известный способ запуск команд основан на использовании кодовых слов, т.е. текстовых идентификаторов папок, которые понятны системе. Например, избранное проводника можно создать открыть так.
shell:Links
Владея английским, кодовые слова легче запомнить, конечно, но зачастую проще посмотреть их в справочнике ниже. Команды удобно использовать для:
- быстрого перехода в скрытую или системную папку, если их отображение отключено в проводнике
- объяснений, как добраться до какой-либо папки, что экономит время при оказании помощи (удобство, например, заключается в том, что нужная пользовательская папка открывается вне зависимости от имени учетной записи)
- создания ярлыков к часто используемым папкам
Так, для создания ярлыка, щелкните правой кнопкой мыши на рабочем столе и выберите Создать - Ярлык. Затем введите команду:
explorer shell:Links
Увеличить рисунок
Все кодовые слова для команд можно найти в разделе реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\FolderDescriptions
Заглянув в его подразделы, можно подметить два момента:
- значение параметра Name является кодовым словом для запуска
- некоторые подразделы содержат параметр ParsingName, и его значение также можно использовать для запуска
Во втором случае мы как раз имеем дело с элементами ActiveX, а GUID в значении параметра указывает на подраздел в HKLM\SOFTWARE\Classes\CLSID, o котором шла речь выше. Теперь вы видите, почему при запуске команд путем вызова GUID используется дополнительная пара двоеточий.
Увеличить рисунок
Список известных папок для команд shell
Ниже приводится список этих команд для Windows Vista и Windows 7:
- выделенные красным команды работают только в Windows 7
- * перед путем означает, что папка является скрытой, т.е. не видна в проводнике, если отключено отображение скрытых файлов и папок (что, впрочем, не мешает переходить в нее командой)
Команда | Путь или открываемая папка |
shell:AddNewProgramsFolder | Получение программ |
shell:Administrative Tools | * %UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools |
shell:AppData | * %UserProfile%\AppData\Roaming |
shell:AppUpdatesFolder | Установленные обновления |
shell:Cache | * %UserProfile%\AppData\Local\Microsoft\Windows\Temporary Internet Files |
shell:CD Burning | * %UserProfile%\AppData\Local\Microsoft\Windows\Burn\Burn |
shell:ChangeRemoveProgramsFolder | Установка и удаление программ |
shell:Common Administrative Tools | * %ProgramData%\Microsoft\Windows\Start Menu\Programs\Administrative Tools |
shell:Common AppData | * %ProgramData% |
shell:Common Desktop | %public%\Desktop |
shell:Common Documents | %public%\Documents |
shell:CommonDownloads | %public%\Downloads |
shell:CommonMusic | %public%\Music |
shell:CommonPictures | %public%\Pictures |
shell:Common Programs | * %ProgramData%\Microsoft\Windows\Start Menu\Programs |
shell:CommonRingtones | * %ProgramData%\Microsoft\Windows\Ringtones |
shell:Common Start Menu | * %ProgramData%\Microsoft\Windows\Start Menu |
shell:Common Startup | * %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup |
shell:Common Templates | * %ProgramData%\Microsoft\Windows\Templates |
shell:CommonVideo | %public%\Videos |
shell:ConflictFolder | Центр синхронизации\Конфликты |
shell:ConnectionsFolder | Control Panel\All Control Panel Items\Network Connections |
shell:Contacts | %UserProfile%\Contacts |
shell:ControlPanelFolder | Панель управления\Все элементы панели управления |
shell:Cookies | * %UserProfile%\AppData\Roaming\Microsoft\Windows\Cookies |
shell:Cookies\Low | * %UserProfile%\AppData\Roaming\Microsoft\Windows\Cookies\Low |
shell:CredentialManager | * %UserProfile%\AppData\Roaming\Microsoft\Credentials |
shell:CryptoKeys | * %UserProfile%\AppData\Roaming\Microsoft\Crypto |
shell:default Gadgets | %ProgramFiles%\Windows Sidebar\Gadgets |
shell:desktop | Рабочий стол |
shell:device Metadata Store | * %ProgramData%\Microsoft\Windows\DeviceMetadataStore |
shell:documentsLibrary | Библиотеки\Документы |
shell:downloads | %UserProfile%\Downloads |
shell:dpapiKeys | * %UserProfile%\AppData\Roaming\Microsoft\Protect |
shell:Favorites | Избранное Internet Explorer (%UserProfile%\Favorites) |
shell:Fonts | Шрифты (%SystemRoot%\Fonts) |
shell:Gadgets | Гаджеты (* %UserProfile%\AppData\Local\Microsoft\Windows Sidebar\Gadgets) |
shell:Games | Игры |
shell:GameTasks | * %UserProfile%\AppData\Local\Microsoft\Windows\GameExplorer |
shell:History | Журнал IE (* %UserProfile%\AppData\Local\Microsoft\Windows\History) |
Shell:HomeGroupFolder | Домашняя группа |
shell:ImplicitAppShortcuts | * %UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\ImplicitAppShortcuts |
shell:InternetFolder | 32-bit Internet Explorer |
shell:Links | Избранное проводника (%UserProfile%\Links) |
shell:Libraries | Библиотеки |
shell:Local AppData | * %UserProfile%\AppData\Local |
shell:LocalAppDataLow | * %UserProfile%\AppData\LocalLow |
shell:MusicLibrary | Библиотеки\Музыка |
shell:My Music | %UserProfile%\Music |
shell:My Pictures | %UserProfile%\Pictures |
shell:My Video | %UserProfile%\Videos |
shell:MyComputerFolder | Компьютер |
shell:NetHood | * %UserProfile%\AppData\Roaming\Microsoft\Windows\Network Shortcuts |
shell:NetworkPlacesFolder | Сеть |
shell:Personal | %UserProfile%\Documents |
shell:PicturesLibrary | Библиотеки\Изображения |
shell:PrintersFolder | Принтеры |
shell:PrintHood | * %UserProfile%\AppData\Roaming\Microsoft\Windows\Printer Shortcuts |
shell:Profile | %UserProfile% |
shell:ProgramFiles | %ProgramFiles% |
shell:ProgramFilesCommon | %ProgramFiles%\Common Files |
shell:ProgramFilesCommonX64 | %ProgramFiles%\Common Files |
shell:ProgramFilesCommonX86 | %ProgramFiles(x86)%\Common Files |
shell:ProgramFilesX64 | %ProgramFiles% |
shell:ProgramFilesX86 | %ProgramFiles(x86)% |
shell:Programs | Программы в меню "Пуск" (* %UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs) |
shell:Public | %public% |
shell:PublicGameTasks | * %ProgramData%\Microsoft\Windows\GameExplorer |
shell:PublicSuggestedLocations | %public%\Library\PublicSuggestedLocations |
shell:Quick Launch | * %UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch |
shell:Recent | Недавние документы (* %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent) |
shell:RecycleBinFolder | Корзина |
shell:ResourceDir | %SystemRoot%\Resources |
shell:Ringtones | * %ProgramData%\Microsoft\Windows\Ringtones |
shell:SampleMusic | %public%\Music\Sample Music |
shell:SamplePictures | %public%\Pictures\Sample Pictures |
shell:SampleVideos | %public%\Videos\Sample Videos |
shell:SavedGames | Сохраненные игры (%UserProfile%\Saved Games) |
shell:Searches | Сохраненные поиски (%UserProfile%\Searches) |
shell:SearchHomeFolder | Поиск (WIN+F) |
shell:SendTo | Меню "Отправить" (* %UserProfile%\AppData\Roaming\Microsoft\Windows\SendTo) |
shell:Start Menu | Меню "Пуск" (* %UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu) |
shell:Startup | Автозагрузка (* %UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup) |
shell:SyncCenterFolder | Центр синхронизации |
shell:SyncResultsFolder | Центр синхронизации\Результаты синхронизации |
shell:SyncSetupFolder | Центр синхронизации\Настройка синхронизации |
shell:System | %SystemRoot%\System32 |
shell:SystemCertificates | * %UserProfile%\AppData\Roaming\Microsoft\SystemCertificates |
shell:SystemX86 | %SystemRoot%\SysWOW64 |
shell:Templates | Шаблоны (* %UserProfile%\AppData\Roaming\Microsoft\Windows\Templates) |
shell:User Pinned | * %UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned |
shell:UsersFilesFolder | Профиль (%UserProfile%) |
shell:UsersLibrariesFolder | Библиотеки |
shell:VideosLibrary | Библиотеки\Видео |
shell:Windows | %SystemRoot% |