Как мне изменить существующее значение ключа реестра из cmd?
Есть много опций и переключателей, наворотов для команды Reg. Существуют опции для запроса, добавления и удаления ключей, подразделов и имен значений. Но как вы изменяете данные имени существующего значения? Вы полностью удаляете имя значения, затем добавляете его снова и повторно вводите измененное значение / данные? Это кажется очень громоздким ...
Я не заинтересован в какой-либо автоматизации сценариев / пакетов, по крайней мере, сейчас, я просто хочу просто редактировать реестр с помощью команды cmd Reg. Без необходимости уничтожать ключ просто добавить его через секунду с некоторыми дополнительными данными. Такую же операцию вы можете сделать в Regedit.
Вот пример для вас, чтобы стимулировать процесс мышления.
Key: HKEY_CURRENT_USER\Software\Citrix\Receiver
Value type: reg_sz
Value name: UpgradeDone
Value data: true
Теперь это просто хорошо, но что, если я должен изменить значение данных с «true» на «false». Так что я получаю это вместо:
Key: HKEY_CURRENT_USER\Software\Citrix\Receiver
Value type: reg_sz
Value name: UpgradeDone
Value data: false
Какие есть варианты и синтаксис для этого из cmd? ....
Обновить:
Я только сейчас понял, что приведенный выше пример мог бы быть слишком легким ...
В приведенном выше примере я могу просто сделать следующее:
reg delete HKEY_CURRENT_USER\Software\Citrix\Receiver /v UpgradeDone
reg add HKEY_CURRENT_USER\Software\Citrix\Receiver /v UpgradeDone /t Reg_Sz /d false
Я могу позволить себе полностью удалить значение, а затем добавить его снова, потому что содержащиеся в нем данные очень малы. Это просто строка типа «истина» или «ложь». Это не так сложно воссоздать.
Вот более сложный пример с большим количеством данных:
Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Value name: Path
Value type: Reg_Sz
Data: C:\Program Files (x86)\ImageMagick-6.8.5-Q16;C:\PROGRA~2\GTK2-R~1\bin;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Windows\System32\WindowsPowerShell\v1.0\;"C:\Program Files (x86)\WinHasher";C:\Program Files (x86)\Android\android-sdk\tools\;C:\Program Files (x86)\Android\android-sdk\platform-tools\;C:\Program Files (x86)\GTK2-Runtime\bin;C:\Program Files (x86)\MiKTeX 2.9\miktex\bin\;C:\Program Files (x86)\Common Files\Teleca Shared;C:\Program Files (x86)\Notepad++
Я хочу удалить только части содержимого данных. В частности, я хочу удалить только последний путь поиска, C: \ Program Files (x86) \ Notepad ++.
Как вы справляетесь с этим ?? ...
Вы не ожидаете, что я перепечатал все это ?? ......
Ответы:
использование
REG ADD
с параметром "/ f" для принудительной перезаписи.REG ADD /?
объясняет параметры.Чтобы вставить новое значение или переключить строковое значение с «false» на «true», используйте команду, подобную этой:
Пример, который читает существующее значение и добавляет некоторую строку перед тем, как записать его обратно:
Замечания: В этом примере предполагается, что старое значение и новое значение не имеют пробелов. В противном случае нужно добавить кавычки и изменить параметр «токены». Дополнительная проверка ошибок опущена для краткости. Тем не мение, все Код, управляющий реестром, обязательно должен выполнять адекватную проверку ошибок.
источник
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment /v Path /d ;C:\Program Files (x86)\Some_software /f
добавить;C:\Program Files (x86)\Some_software
до конца строки?reg add HKEY_CURRENT_USER\Software\Citrix\Receiver /v UpgradeDone /t Reg_Sz /d false
Значение UpgradeDone существует, перезаписать (да / нет)? Поэтому без ключа / f он спросит вас, хотите ли вы перезаписать.Вы также можете
REG import foo.reg
в которомfoo.reg
файл, содержащий обычную информацию реестра, которую вы экспортируете изregedit.exe
,В вашем примере это будет что-то вроде:
Более подробная информация доступна на эта статья Microsoft Technet ,
источник