Войти

Показать полную графическую версию : Переименовывание и изменение в реестре через cmd


MSI
21-10-2016, 09:40
1. Как можно переименовать раздел в реестре, например, HKLM\Software\!test в HKLM\Software\!test2. Удвление и последующее создание не подходит, потому что там могут быть ключи и другие разделы.
2. Как ИЗМЕНИТЬ значение параметра? Проблема в том, что первая часть строки (до ключа) не известна.
Вот и пример хороший попался: изменить "command"="vUpAVX!!!!!!!!!MKKSkEXCELFiles>tW{~$4Q]c@II=l2xaTO5 /e" на "command"="vUpAVX!!!!!!!!!MKKSkEXCELFiles>tW{~$4Q]c@II=l2xaTO5 "%1"".
Вот это - "vUpAVX!!!!!!!!!MKKSkEXCELFiles>tW{~$4Q]c@II=l2xaTO5" заранее не известно, поэтому удаление и создание снова не подходит.

greg zakharov
21-10-2016, 10:34
Например, есть раздет реестра HKCU\Software\Dummy, нужно его переименовать в Dummy2:
@echo off
setlocal enabledelayedexpansion
set "f=%tmp%\exp.txt"
set "r=%tmp%\ren.reg"
reg export HKCU\Software\Dummy "!f!">nul
if not exist "!f!" echo:Export error.&goto:eof
>"!r!" (for /f "delims=" %%i in ('type "!f!"') do (
set "s=%%i"
echo:!s!|>nul findstr /irc:"hkey"&&(
set "s=!s:dummy=dummy2!"
echo:!s!
)||echo:!s!
))
"!r!"
reg delete HKCU\Software\Dummy /f>nul
del /f /q "!f!" "!r!"
endlocal
exit /b

По аналогии производится разбор некоторого параметра.




© OSzone.net 2001-2012