Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Переименовывание и изменение в реестре через cmd (http://forum.oszone.net/showthread.php?t=319995)

MSI 21-10-2016 09:40 2680367

Переименовывание и изменение в реестре через cmd
 
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 2680395

Например, есть раздет реестра 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

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


Время: 08:34.

Время: 08:34.
© OSzone.net 2001-