|
ВведениеДумаю, что каждый, кто пользуется проводником Windows в качестве своего файлового менеджера по умолчанию, с выходом операционной системы Windows 7 успел оценить и найти для себя полезным такой функционал проводника, как «библиотеки». О функционале этого нововведения операционной системы Windows 7, а именно о создании и удалении библиотек, добавлении папок в библиотеки, а также о настройке библиотек я рассказывал в этой статье. Как вы знаете, в операционной системе Windows практически для каждой команды, выполняемой в графическом интерфейсе можно найти аналогичную утилиту командной строки, позволяющую автоматизировать выполняемые действия и тем самым сэкономить время на выполнении рутинной работы. Помимо этого, в доменной среде вы можете управлять практически любыми настройками на клиентских компьютерах средствами групповой политики.
Библиотеки проводника Windows относятся к исключению из этих «практически каждых команд». То есть при помощи командной строки вам предоставляется возможность создавать только обычные папки. А, в свою очередь, используя функционал групповой политики, вы также сможете при помощи элемента предпочтений групповой политики «Папки» всего лишь создать обычную папку, которая, по сути, не будет обладать функционалом, предоставляемым библиотеками проводника Windows. Неужели разработчики операционной системы Windows корпорации Microsoft проигнорировали этот компонент и не предоставили системным администраторам возможности автоматизации управления этим функционалом? Естественно, о такой функциональности никто не забыл и утилиту командной строки, предназначенную для управления библиотеками можно отдельно загрузить и использовать, хотя не понятно, почему такой функционал не сделали штатной возможностью операционной системы. В этой статье я расскажу о том, как можно управлять библиотеками проводника Windows средствами командной строки. Установка утилиты slutil командной строкиПрежде всего, как я написал немного ранее, данную утилиту командной строки необходимо самостоятельно устанавливать после установки самой операционной системы. Но перед тем как загрузить саму утилиту вам понадобятся компоненты Windows Software Development Kit под .NET Framework 3.5, которые можно загрузить по следующей ссылке: Microsoft Windows Software Development Kit. Стоит отметить, что на данный момент по умолчанию можно загрузить SDK под .NET Framework 4.0, а требуемый для данной утилиты SDK расположен в архивах Windows SDK на этом же сайте. Так как для других утилит может понадобиться установка Windows SDK под .NET Framework 4, я устанавливаю обе версии SDK.
Процесс установки Windows SDK очень простой: на первой странице мастера вам нужно нажать на кнопку «Next», затем принять условия соглашения и указать папку, в которую будут установлены сами компоненты. Первую страницу мастера вы можете найти ниже: Увеличить рисунок
Рис. 1. Первая страница мастера установки Windows SDK На следующей странице мастера вы можете указать компоненты, которые должны быть установлены вместе с пакетом Windows Software Development Kit. В том случае, если SDK вам нужен только для работы утилиты командной строки, предназначенной для управления библиотеками, то можете оставить выбор компонентов без изменений. Страница Installation Options мастера установки Windows SDK под .NET Framework 4.0 изображена ниже: Увеличить рисунок
Рис. 2. Страница выбора устанавливаемых компонентов Windows SDK После того как будет установлен Windows SDK под .NET Framework 4.0, еще необходимо по аналогии установить Windows SDK под .NET Framework 3.5. Сразу после того как все компоненты будут установлены вам нужно будет перейти по адресу http://archive.msdn.microsoft.com/shellapplication и загрузить исходные коды утилиты Shell Library Command Line Sample:
Увеличить рисунок
Рис. 3. Страница загрузки дополнительных утилит Распакуйте полученный архив и поместите его в удобное для вас расположение. После этого вам нужно скомпилировать исходные коды текущей утилиты. Для этого откройте утилиту командной строки «Cmd Shell» из установленных ранее компонентов Microsoft Windows SDK v 7.0, которую можно найти в меню «Пуск». В открывшемся окне командной строки перейдите к папке, в которую были помещены исходные коды утилиты, например, в моем случае это папка Tools\ ShellLibraryCommandLine, расположенная на диске С. Теперь выполните команду msbuild ShellLibraryCommandLine.sln, как показано на следующей иллюстрации: Увеличить рисунок
Рис. 4. Процесс создания исполняемого файла утилиты командной строки После всех этих предварительных действий в папке Win32\Debug появится исполняемый файл утилиты shlib.exe, при помощи которого, собственно, мы и будем создавать, а также управлять библиотеками проводника Windows. Использование утилиты shlib.exeПрежде всего, использовать текущую утилиту командной строки вы можете только в том случае, если вы находитесь в папке с самой утилитой, то есть, открыв командную строку, вам нужно будет перейти в папку, в которой расположена сама утилита. Теперь рассмотрим, какие задачи может выполнять данная утилита командной строки. Для этой утилиты доступны 10 команд, выполняющие следующие задачи: - Add. Команда, предназначенная для добавления папок к выбранной вами библиотеке;
- Create. При помощи данной команды вы сможете создать новую библиотеку в указанном вами расположении;
- Enum. Вывод списка папок, содержащихся в выбранной библиотеке;
- Info. Отображение подробной информации о выбранной вами библиотеке;
- Manage. Используя данную команду вы можете вызвать диалоговое окно «Пути к библиотеке» для выбранной вами библиотеки;
- Remove. Команда, предназначенная для удаления выбранной вами папки из указанной библиотеки;
- Resolve. Данная команда сопоставляет целевую папку, с папкой, расположенной в библиотеке;
- Resolveall. Используя эту команду, вы можете сопоставить все папки, с определенной папкой, которая находятся в библиотеке;
- Setattrib. Выполнение изменений определенных атрибутов для выбранной библиотеки;
- Setsaveloc. При помощи текущей команды вы можете указать папку, предназначенную для сохранения файлов по умолчанию.
Думаю, нет смысла полностью описывать каждую команду со всеми параметрами, просто рассмотрим несколько наиболее часто выполняемых задач, связанных с управлением библиотек. Прежде всего, будет создана библиотека Install в папке с библиотеками, которые устанавливаются по умолчанию с операционной системой. Затем библиотека будет прооптимизирована для документов и для нее будет добавлен собственный значок. После этого в библиотеку будет добавлена одна папка. И напоследок будет выведена информация о библиотеке при помощи команды Info. Чтобы реализовать поставленную задачу, выполните следующие действия: - Сразу стоит отметить, что библиотеки, создаваемые в операционной системе Windows 7 по умолчанию, расположены в папке %UserProfile%\AppData\Roaming\Microsoft\Windows\Libraries, каждая библиотека представляет собой XML-файл и имеет расширение library-ms. Для создания новой библиотеки Install, выполните следующую команду: shlib.exe create %UserProfile%\AppData\Roaming\Microsoft\Windows\Libraries\Install.library-ms. Выполнение данной команды показано ниже:
Увеличить рисунок
Рис. 5. Создание библиотеки средствами командной строки - Для того чтобы выполнить оптимизацию библиотеки и добавить для нее значок нужно воспользоваться командой Setattrib. Для выполнения этой задачи следует воспользоваться следующими командами: чтобы оптимизировать библиотеку для документов выполните команду с параметром –foldertype и атрибутом documents, а именно shlib.exe setattrib –foldertype:documents %UserProfile%\AppData\Roaming\Microsoft\Windows\Libraries\Install.library-ms, а для того чтобы указать значок для библиотеки, выполните команду с параметром –icon, то есть shlib.exe setattrib –icon:E:\Install\LibraryIcon\p_n_f.ico %UserProfile%\AppData\Roaming\Microsoft\Windows\Libraries\Install.library-ms. В этом примере файл со значком называется p_n_f.ico и он находится в папке E:\Install\LibraryIcon. Результат выполнения этих двух команд отображен ниже:
Увеличить рисунок
Рис. 6. Оптимизация и создание значка для созданной библиотеки - Теперь нужно добавить папку в библиотеку. Как было указано выше, для этого предназначена команда Add. Синтаксис этой команды очень простой, так как при выполнении ее не обязательно указывать какой-либо атрибут. Для того чтобы добавить в библиотеку папку E:\Install, команда будет выглядеть следующим образом: shlib.exe add %UserProfile%\AppData\Roaming\Microsoft\Windows\Libraries\Install.library-ms E:\Install. Результат показан на следующей иллюстрации:
Увеличить рисунок
Рис. 7. Добавление папки к созданной ранее библиотеке - Осталось только вывести информацию о созданной и настроенной ранее библиотеке. Для этого следует воспользоваться командой Info. Для этой команды не обязательно указывать атрибуты, поэтому выглядеть она будет следующим образом: shlib.exe info %UserProfile%\AppData\Roaming\Microsoft\Windows\Libraries\Install.library-ms. В данном случае вы увидите, что текущая библиотека закреплена на панели навигации, что библиотека оптимизирована под документы, а также путь к значку библиотеки. Вывод этой команды вы можете посмотреть ниже:
Увеличить рисунок
Рис. 8. Вывод информации для созданной библиотеки
Теперь у многих может возникнуть следующий вопрос: среди всех команд этой утилиты есть возможность удаления папок из библиотеки, но как же удалить саму библиотеку? На самом деле, тут все очень просто: так как библиотека является всего лишь XML-файлом, вам достаточно просто выполнить команду для удаления файла. Выглядеть это будет следующим образом: del %UserProfile%\AppData\Roaming\Microsoft\Windows\Libraries\Install.library-ms. Помимо всех преимуществ данной утилиты хотелось бы отметить тот момент, что вы можете ее использовать даже на компьютерах, на которых не установлен Windows SDK, так как эти компоненты были необходимы лишь для компиляции самой утилиты из исходных кодов. Другими словами, если нужно создать библиотеки на пользовательских компьютерах в домене, то вам достаточно поместить файл shlib.exe в общедоступную сетевую папку, написать сценарий, выполняющий необходимые для вас действия, создать объект групповой политики и в нем настроить параметр политики сценариев автозагрузки. ЗаключениеВ этой статье было рассказано о способе управления библиотеками средствами утилиты командной строки, которая по умолчанию не устанавливается вместе с операционной системой, но позволяет выполнять рутинные операции, предназначенные для управления данным функционалом операционной системы. Рассмотрен процесс установки самой утилиты, а также сценарий, в котором была создана новая библиотека, произведена ее оптимизация, настроен значок, а также в нее была добавлена существующая на диске папка.
|
|