Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Внесение в реестр данных через BAT файл

Ответить
Настройки темы
CMD/BAT - [решено] Внесение в реестр данных через BAT файл

Аватара для Pozia

Ветеран


Сообщения: 2756
Благодарности: 211

Профиль | Отправить PM | Цитировать


Подскажите как BAT ником вносить в реестр различные типы данных - Reg_Dword, Reg_SZ, hex... Спасибо

Отправлено: 23:14, 07-08-2009

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Komoliddin_Fuzaylitdinov@fb, одной — никак. Но можно — перебором:
Код: Выделить весь код
for %i in (*.reg) do @regedit.exe /s "%~i"
Для пакетного файла:
Код: Выделить весь код
for %%i in (*.reg) do regedit.exe /s "%%~i"
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:53, 12-08-2018 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата Komoliddin_Fuzaylitdinov@fb:
КАК открыть несколько reg файлов »
Код: Выделить весь код
more *.reg
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:55, 12-08-2018 | #12


Пользователь


Сообщения: 64
Благодарности: 1

Профиль | Отправить PM | Цитировать


Win 7 64
не могу вписать значение с параметрами.

Файл реестра (у вас там скорее всего тоже самое)
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Unknown\shell\openas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
  6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,25,00,53,\
  00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,\
  79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,65,00,6c,00,6c,\
  00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,4f,00,70,00,65,00,6e,00,41,00,\
  73,00,5f,00,52,00,75,00,6e,00,44,00,4c,00,4c,00,20,00,25,00,31,00,00,00

Код: Выделить весь код
reg add HKCR\Unknown\shell\openas\command /ve /t REG_EXPAND_SZ /d "%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1" /f
Получаю значения вместо переменных.

Если поставить ^ перед % , то и получаю всё что в кавычках ^%
Код: Выделить весь код
reg add HKCR\Unknown\shell\openas\command /ve /t REG_EXPAND_SZ /d "^%SystemRoot^%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1" /f
Достаточно одной птички чтоб это не читалось переменной, но оно также пишется и в реестр.

Как записать ?
Код: Выделить весь код
%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1
---
В общем получилось так
Код: Выделить весь код
reg add HKCR\Unknown\shell\openas\command /ve /t REG_EXPAND_SZ /d ^%SystemRoot^%\system32\rundll32.exe" "^%SystemRoot^%\system32\shell32.dll,OpenAs_RunDLL" "%1 /f
убрал значение из кавычек, а в кавычки поставил пробел

Последний раз редактировалось LEmiD, 06-09-2018 в 14:17.


Отправлено: 13:56, 06-09-2018 | #13



Moderator


Сообщения: 53146
Благодарности: 15423

Профиль | Отправить PM | Цитировать


Цитата LEmiD:
Как записать ?
Код: Выделить весь код
reg add HKCR\Unknown\shell\openas\command /ve /t REG_EXPAND_SZ /d "%%SystemRoot%%\system32\rundll32.exe %%SystemRoot%%\system32\shell32.dll,OpenAs_RunDLL %%1" /f
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:31, 06-09-2018 | #14


Пользователь


Сообщения: 64
Благодарности: 1

Профиль | Отправить PM | Цитировать


Логика как обычно гдето заблудилась.
Мой последний вариант из cmd
Цитата:
reg add HKCR\Unknown\shell\openas\command /ve /t REG_EXPAND_SZ /d ^%SystemRoot^%\system32\rundll32.exe" "^%SystemRoot^%\system32\shell32.dll,OpenAs_RunDLL" "%1 /f
получаю что надо, но если запускаю из батника, получаю полное отсутствие переменных
Цитата:
\system32\rundll32.exe \system32\shell32.dll,OpenAs_RunDLL
Беру ваш код
Цитата:
reg add HKCR\Unknown\shell\openas\command /ve /t REG_EXPAND_SZ /d "%%SystemRoot%%\system32\rundll32.exe %%SystemRoot%%\system32\shell32.dll,OpenAs_RunDLL %%1" /f
запускаю в командной строке и просто получаю лишние проценты
Цитата:
%C:\Windows%\system32\rundll32.exe %C:\Windows%\system32\shell32.dll,OpenAs_RunDLL %%1
запускаю из батника и получаю что надо
Цитата:
%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1
То есть батник из комадной строки запускать нельзя, а только из проводника.

Какие есть решения определить откуда запущен батник ?

Отправлено: 16:18, 06-09-2018 | #15


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата LEmiD:
запускаю в командной строке и просто получаю лишние проценты »
Всё правильно. Так и должно быть при запуске непосредственно из-под командной строки.

Цитата LEmiD:
Какие есть решения определить откуда запущен батник ? »
Это как? Поясните.

Отправлено: 16:50, 06-09-2018 | #16


Пользователь


Сообщения: 64
Благодарности: 1

Профиль | Отправить PM | Цитировать


В общем ватнику всё равно откуда он запущен.
Просто тестировал команды по одной.
Оказалось что надо тестировать в батнике

Отправлено: 17:24, 06-09-2018 | #17


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


LEmiD, иногда для понимания происходящего внутри пакетного файла помогает временное комментирование типичной первой строки @echo off.

Отправлено: 17:27, 06-09-2018 | #18


Пользователь


Сообщения: 99
Благодарности: 5

Профиль | Отправить PM | Цитировать


Здравствуйте, уважаемые! А подскажите, пожалуйста, как с помощью CMD/BAT просто открыть нужную ветвь реестра? Ну что б без " Пуск" - Выполнить - regedit и далее..."

Отправлено: 10:18, 07-12-2020 | #19


(*.*)


Administrator


Сообщения: 36475
Благодарности: 6672

Профиль | Сайт | Отправить PM | Цитировать


reg query /?
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:25, 07-12-2020 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Внесение в реестр данных через BAT файл

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] bat-файл на русском snake-as Microsoft Windows NT/2000/2003 16 17-01-2010 03:52
CMD/BAT - [решено] Отключить UAC в Windows 7 через cmd/bat/реестр на уже работающей машине. seriych Скриптовые языки администрирования Windows 6 21-11-2009 23:23
CMD/BAT - [решено] *.bat файл на удаление папок по шаблону smol84 Скриптовые языки администрирования Windows 3 10-03-2009 15:49
VBS/WSH/JS - Внесение изменений в реестр из под имени учётной записи администратора SANIOK_AV Скриптовые языки администрирования Windows 2 27-01-2009 11:03
[решено] не срабатывает cmd файл вносящий правку в реестр rizz Microsoft Windows 2000/XP 11 02-05-2007 17:42




 
Переход