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

Название темы: [решено] Export Registry Value
Показать сообщение отдельно

Googler


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

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


Цитата semiono:
надо довести батник до результата »
Извиняюсь, но ты комментируешь мой ответ в тему, где сформулирована совсем другая задача: ТАМ результат формируется из нескольких REG-файлов путем отсеивания ненужных параметров, а ТУТ берутся конкретные (т.е. с заведомо известными типами и именами) параметры из реестра и загоняются в REG-файл... Может сначала определиться с постановкой задачи и инструментом (не указывать жестко категорию), а не плодить одинаковые темы?

Цитата semiono:
есть ли смысл пользоваться regedit.exe? »
Хотя бы потому, что он умеет экспортировать в WIN-кодировке, а не только юникоде, как REG.EXE... Вот батник из 3-го поста, переделанный для XP (первый батник тестил на Win 2003) - использование RegEdit вместо REG существенно упрощает код:
Код: Выделить весь код
@Echo Off

Set $R_REG=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Set $R_VAL=ComSpec

Set $R_TMP=HKEY_CURRENT_USER\Temp
Set $F_REG=%~dpn0.reg
Set $F_TMP=%~dpn0.tmp

Set $N=1
For %%i In (%$R_VAL%) Do Set /A $N+=1

Reg Delete "%$R_TMP%" /f >Nul 2>&1
If Exist "%$F_TMP%" DEL /F/Q "%$F_TMP%"
If Exist "%$F_REG%" DEL /F/Q "%$F_REG%"

For /F "Tokens=%$N%* Delims=	 " %%i In (
'REG Query "%$R_REG%" /v "%$R_VAL%"^|FindStr /IBRC:"[ 	]*%$R_VAL%[ 	][ 	]*REG_"'
) Do REG ADD "%$R_TMP%" /v "%$R_VAL%" /t %%i /f /d "%%j" >Nul
RegEdit /E:A "%$F_TMP%" "%$R_TMP%"

For /F "Delims=:" %%i In ('FindStr /BNC:^"[^" "%$F_TMP%"') Do Set $M=%%i
For /F "Tokens=1* Delims=:" %%i In ('FindStr /BVNC:^"]^" "%$F_TMP%"') Do (
   If %%i EQU %$M% (
      Echo.[%$R_REG%]>>%$F_REG%
   ) ELSE (
      Echo.%%j>>%$F_REG%
   )
)
P.S. не проверял для параметров/значений с русскими буквами
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:45, 23-01-2010 | #5

Название темы: [решено] Export Registry Value