Как большинство из нас запускают Блокнот, Калькулятор, System Configuration Utility?
Нет, я не спорю, что есть народ, которому не лень идти в Пуск => Программы => Стандартные и т.д. Но подавляющее большинство просто пишут в командной строке notepad, calc, msconfig и даже не напрягаются с поиском нужных ярлыков :)
Я отношусь к категории тех, кто пользуется командной строкой. И очень часто мне приходилось сетовать на то, что любимые программы не запускаются из командной строки… Но пришло время, когда терпение лопнуло и начался поиск нужной информации. Информация была найдена и я удивился тому, как же все на самом деле просто.
Отныне и навсегда, все любимые программы могут запускаться из командной строки. Итак, что же для этого нужно:
1. В командной строке (и снова это магическое действие) пишем волшебное слово «regedit» или «regedt32» – это уж, кому как нравится.
2. Заходим в «HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\ CurrentVersion\\App Paths» и видим нем кучу ключей с названием типа «имя.exe». Вот они – псевдонимы к программам.
3. Создаем ключ, например, «test.exe»
4. В созданном ключе создаем два строковых параметра:
a) Default – значение – путь к файлу запуска приложения
b) Path – путь к рабочей папке
5. В командной строке пишем “test” – в результате должна запуститься программа, путь к которой был прописан в параметре Default
Вот и все. Если какая-то программа уже занимает выбранный псевдоним – можно просто изменить значения параметров и, например, команда «calc» будет запускать не банальный виндовый калькулятор, а какую-нибудь навороченную умножательно- делительную машину :)
Впервые статья была опубликована в Даниила Мясникова.
Возникают ситуации, когда необходимо несколько раз переустанавливать тестируемую программу, а она при этом каждый раз при удалении оставляет в реестре набор ключей и значений, и при повторной установке поднимает старые настройки… Приходится каждый раз после удаления запускать редактор реестра и удалять эти ключи. Знакомая ситуация? Когда подобное случилось со мной, то моего терпения хватило совсем не на долго. И в результате изучения доступных материалов и нескольких экспериментов на свет появился файл “remove-keys.bat” который удалял ключи оставленные программой.
Из командной строки можно управлять реестром Windows, а именно можно добавлять ключи и параметры, удалять их, сравнивать, сохранять в файл и восстанавливать из файла.
1. Добавление ключей и параметров:
Для добавления ключа используется команда "REG add".
Записывается: reg add ИмяКлюча
Если в имени ключа содержатся пробелы – путь нужно взять в кавычки. Пример: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\QuickTime\Installed Files"
При добавлении параметров команда записывается следующим образом:
reg add ИмяКлюча /v ИмяПараметра /t ТипПараметра /d ЗначениеПараметра
Тип параметра может быть: REG_BINARY, REG_SZ, REG_DWORD, REG_MULTI_SZ, REG_EXPAND_SZ
Как и в случае с ключом, если значение или имя параметра содержат пробелы – необходимы кавычки. Пример: reg add "HKEY_CURRENT_USER\Control Panel\Current" /v "Color Schemes" /t "REG_SZ" /d "Windows Standard"
2. Удаление ключей и параметров:
Теперь попробуем удалить все что мы создали (и не только):
Для удаления используется кооманда “REG delete”
Записывается: reg delete ИмяКлюча
Ситуация с пробелами аналогична прдедыдущей, если есть пробелы – ставим кавычки. Пример: reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\QuickTime\Installed Files"
Если же удалять весь ключ нет необходимости, а нужно удалить только один или несколько параметров – используем уже знакомую опцию “/v” Пример: reg add "HKEY_CURRENT_USER\Control Panel\Current" /v "Color Schemes"
Указывать тип и значение параметра не нужно.
При выполнении команды, появится запрос на подтверждение действия, для того, чтобы выполнить действие без запроса нужно добавить опцию /f
Оговорюсь, что при выполнении команд можно использовать как полные названия ветвей реестра, так и сокращенные:
REG query – проверка наличия ключа в реестре REG compare – сравнение ключей REG copy – копирование ключа по указанному пути на локальной или удаленнной сисиеме REG restore – восстановление ключа из файла REG save – сохранение ключа в файл
3. Запрос наличия ключа:
Запись команды: REG query ИмяКлюча Пример: reg query "HKEY_CURRENT_USER\Control Panel\Current"
Если ключ существует – ответом будет строка типа: ! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Control Panel\Current
Color Schemes REG_SZ Windows Standard
Если ключа не существует – ответ: Error: The system was unable to find the specified registry key or value
4. Сравнение ключей:
Может быть полезна при сравнении ключей реестра на двух удаленных машинах.
Запись команды: REG compare ИмяКлюча1 ИмяКлюча2 Пример: reg compare \\Computer1\HKLM\SYSTEM\CurrentControlSet\Services\DNS
\\Computer2\HKLM\SYSTEM\CurrentControlSet\Services\DNS
При совпадении ключей получаем ответ: Results Compared: Identical
The operation completed successfully.
При не совпадении: Results Compared: Different
The operation completed successfully
5. Сохранение ключа в файл:
Сразу оговорюсь, что структура сохраняемого файла отличается от файла создаваемого при экспорте ключа из regedit и просто запустив файл нельзя добавить информацию в реестр. Информация добавляется с помощью команды восстановления из файла, которая описана ниже.
Запись команды сохранения ключа в файл:
reg save ИмяКлюча “ИмяФайла” – по умолчанию файл сохраняется в корневом каталоге, поэтому лучше указывать путь. Пример: reg save “HKEY_CURRENT_USER\Control Panel\Current” C:\temp\testsaving.hiv
Если операция выполнена успешно – получаем ответ: The operation completed successfully
В случае ошибки сообщение зависит от причины возникновения ошибки :)
6. Восстановление ключа из файла:
Запись команды: reg restore ИмяКлюча “ИмяФайла”