![]() |
Выполнение команды в зависимости от записи в реестре
Например, запустить notepad только при наличии такой записи в реестре:
Код:
[HKEY_CURRENT_USER\1] |
Код:
@echo off |
Блокнот не запустился...
(проверял на свежеустановленной "чистой" WinXP SP3 с упомянутой записью в реестре) |
dassen, формат вывода утилиты reg.exe может отличаться от версии к версии. Откройте cmd.exe. Выполните в нём:
Код:
reg.exe query "HKEY_CURRENT_USER\1" /ve Код:
>"Out.txt" reg.exe query "HKEY_CURRENT_USER\1" /ve |
dassen, давайте точнее задачу и объемнее
просто намекая на возможный ход развития, но столкнувшись с ним в боевых условиях вы опять сюда придете. |
Iska, спасибо!
Установил, что между REG_SZ и one должен быть знак табуляции: Код:
(reg query "HKEY_CURRENT_USER\1" /ve | find /i "REG_SZ one") && start "" notepad А при копировании кода из Вашего первого сообщения между REG_SZ и one получил четыре пробела... Скрытый текст
Использую AkelPad:
Настройки \ Параметры \ Редактор 1 \ Размер табуляции \ Пробелы (птичка снята). Кодировка текста батника: 866 (OEM Russian) alpap, Iska, да, в принципе, задача уже решена. О "боевых условиях": нужно бы уточнить, что @="one", а не @="one1", @="oneday" и т.д (т.е. сейчас в реестре после one может быть любой текст, и notepad запустится). |
Цитата:
Цитата:
Цитата:
Цитата:
Код:
… | findstr.exe /i /r /e /c:".*REG_SZ one" … |
Iska, понятно, спасибо!
Именно то, что я и хотел получить: Код:
(reg query "HKCU\1" /ve | findstr /i /r /e /c:".*REG_SZ one") && start "" notepad |
Время: 03:02. |
Время: 03:02.
© OSzone.net 2001-