Внесение в реестр данных через BAT файл
Подскажите как BAT ником вносить в реестр различные типы данных - Reg_Dword, Reg_SZ, hex... Спасибо
|
Если файл с данными уже имеется, то можно обычным RegEdit`ом - у него есть нигде не описанные ключи, я их подсмотрел в ранних версиях FAR:
SaveSettings.bat Код:
@echo off Код:
@echo off |
NiOl, мне нужно вот такого плана команды для всех остальных типов данных реестра:
Код:
Reg Add "HKLM\SOFTWARE\Mathsoft\Mathcad 14\FlexLM" /v LicensePath /d "%PROGRAMFILES%\Mathcad\Mathcad 14\license.dat" /F >Nul |
Тип данных указывается ключом /t
Код:
Reg Add "HKLM\SOFTWARE\Mathsoft\Mathcad 14\FlexLM" /v LicensePath /t Reg_SZ /d "%PROGRAMFILES%\Mathcad\Mathcad 14\license.dat" /F >Nul Код:
Reg Add "HKLM\SOFTWARE\Mathsoft\Mathcad 14\FlexLM" /v LicensePath /t REG_EXPAND_SZ /d "^%PROGRAMFILES^%\Mathcad\Mathcad 14\license.dat" /F >Nul |
Makzs, не могу сообразить как внести батником такой вот твик:
Код:
[HKEY_CURRENT_USER\Control Panel\Desktop] |
Pozia, а вы наберите:
Код:
Reg Add /? Код:
Reg Add "HKCU\Control Panel\Desktop" /V UserPreferencesMask /T REG_BINARY /D 90320780 /F |
Уважамые, будте добры, ткните пальцем, где у меня ошибка:
нужно добавить посредствам командной строки вот эту запись: Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Profiles\@My profile] Код:
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Profiles\@My profile" /v SelectedServer /t REG_DWORD /d" \\\\192.168.44.111\\public\\nod_upd /f |
Cyber_Maniac, справкой прользуйтесь!
reg add /? там написано: Цитата:
|
Не могу понять где ошибка...
REG ADD "HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles" /f /v "D:\Bases\Continent\" /t REG_SZ /d "Continent" В реестр в name вносится строчка D:\Bases\Continent\" /t REG_SZ /d "Continent ?!?! Если оставить двойные слеши то добавляется нормально, но путь к базе с двойными слешами не проканает. рег файл видит так [HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles] "f:\\Applications\\1c\\Bases\\Continent\\"="Континент" Разобрался...в моём случаем name это пусть к базе 1с. для того чтобы работала ставим на конце имени(в мём случаем пути) второй \ REG ADD "HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles" /f /v "D:\Bases\Continent\\" /t REG_SZ /d "Continent" |
КАК открыть несколько reg файлов одним командом?
Например Код:
regedit /s *.reg |
Komoliddin_Fuzaylitdinov@fb, одной — никак. Но можно — перебором:
Код:
for %i in (*.reg) do @regedit.exe /s "%~i" Код:
for %%i in (*.reg) do regedit.exe /s "%%~i" |
Цитата:
Код:
more *.reg |
Win 7 64
не могу вписать значение с параметрами. Файл реестра (у вас там скорее всего тоже самое)
Код:
Windows Registry Editor Version 5.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 |
Цитата:
Код:
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 |
Логика как обычно гдето заблудилась.
Мой последний вариант из cmd Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Какие есть решения определить откуда запущен батник ? |
|
В общем ватнику всё равно откуда он запущен.
Просто тестировал команды по одной. Оказалось что надо тестировать в батнике |
LEmiD, иногда для понимания происходящего внутри пакетного файла помогает временное комментирование типичной первой строки @echo off.
|
Здравствуйте, уважаемые! А подскажите, пожалуйста, как с помощью CMD/BAT просто открыть нужную ветвь реестра? Ну что б без " Пуск" - Выполнить - regedit и далее..."
|
reg query /?
|
Vadikan,
Для примера что-то не сложно показать? |
juk_777, я показал - выполните команду и увидите примеры.
|
Цитата:
Хотя бы запустите ту команду, которая предложена, там есть примеры... раз уж ни гугл, ни яндекс недоступны... |
Цитата:
|
Именно открыть потребный раздел реестра
также и nircmd поможет это сделать: Код:
nircmd.exe regedit "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" |
Ну вот к примеру мне надо зайти в
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] Как выглядит содержимое .bat файла? |
alpap,
Спасибо - то, что надо... |
Короче, открыть - это значит перейти в редакторе реестра.
Это можно и без сторонних утилит, фокусу 100 лет, потому что в реестре сохраняется последний открытый раздел. Скрипт PowerShell на коленке Код:
param( Пример запуска Код:
.\lastkey.ps1 -Lastkey "HKEY_CURRENT_USER\Keyboard Layout\Preload" |
Vadikan, нещщитово — нет запоминания предыдущего значения, ожидания закрытия и восстановления предыдущего значения :).
Но, можно оставить сие для реализации в качестве самостоятельного упражнения :lol:. |
Iska, в принципе, даже аккуратное закрытие регедит не нужно, в т.ч. запоминание предыдущего значения Lastkey. Потому что нашей целью все равно является запись своего значения туда и запуск регедит, т.е. его можно безжалостно убивать перед этим.
|
Vadikan, я имею в виду, что по-хорошему нужно (после того, как мы запустили редактор реестра) — дождаться его закрытия и вернуть предыдущее значение параметра Lastkey.
|
Iska, зачем вносить предыдущее значение параметра? Ведь нормальное поведение регедит - сохранять последний раздел. Что он и сделает, когда пользователь закроет приложение [после открытия его скриптом].
|
Vadikan, Ваша мысль понятна и в данном случае вполне имеет право на жизнь. Это я перфекционист :).
|
Время: 18:19. |
Время: 18:19.
© OSzone.net 2001-