@echo off
setlocal enableextensions enabledelayedexpansion
for /f "skip=1 tokens=*" %%a in ('type %1') do (
set line=%%a
if "!line:~-1!"=="]" (
set key=!line:[=!
set key=!key:]=!
set key=!key:HKEY_CURRENT_CONFIG=HKCC!
set key=!key:HKEY_LOCAL_MACHINE=HKLM!
set key=!key:HKEY_CLASSES_ROOT=HKCR!
set key=!key:HKEY_CURRENT_USER=HKCU!
set key=!key:HKEY_USERS=HKU!
if "!key:~0,1!"=="-" (
echo REG DELETE "!key:~1!" /f
) else (
echo REG ADD "!key!" /f
)) else (
for /f "tokens=1* delims==" %%b in ('echo !line!') do (
set val=%%~b
set dat=%%c
if "!dat:~0,1!"=="-" (
echo REG DELETE "!key!" /v "!val!" /f
) else (
set typ=SZ
if /i "!dat:~0,6!"=="dword:" set typ=DWORD&set dat=!dat:dword=!&set dat=!dat:~1!
if /i "!dat:~0,7!"=="hex^(7^):"set typ=EXPAND_SZ&set dat=!dat:hex^(7^)=!&set dat=!dat:~1!
echo REG ADD "!key!" /v "!val!" /t REG_!typ! /d "!dat!" /f
))))