semiono, нормальные герои всегда идут в обход (c)
Код:

@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
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"
Reg Export "%$R_TMP%" %$F_TMP%
For /F "Delims=:" %%i In ('Type "%$F_TMP%"^|FindStr /BNC:^"[^"') Do Set $M=%%i
For /F "Tokens=1* Delims=:" %%i In ('Type "%$F_TMP%"^|FindStr /BVNC:^"]^"') Do (
If %%i EQU %$M% (
Echo.[%$R_REG%]>>%$F_REG%
) ELSE (
Echo.%%j>>%$F_REG%
)
)
Цитата semiono:
Или это для REGEDIT версии 4 нормально? »
|
Как создавать, изменять или удалять подразделы и значения системного реестра с помощью файла записей регистрации (.reg)
P.S. нашел глюк в Win2003 - REG.Exe выводит REG_EXPAND_SZ как REG_SZ