标题: [注册表类] reg2bat 还有很多问题 [打印本页]
作者: smss 时间: 2023-5-27 09:31 标题: reg2bat 还有很多问题
本帖最后由 smss 于 2023-5-28 18:13 编辑
::REG拖拽至此脚本运行- ::REG拖拽至此脚本运行
- @echo off&setlocal enabledelayedexpansion
- if exist "%~dpn1.bat" del "%~dpn1.bat"
- for /f "skip=2 tokens=*" %%i in ('type %1')do (set a=%%i&set a=!a:~0,1!
- if !a!==[ (set h=%%i
- set h=!h:[HKEY_LOCAL_MACHINE=HKLM!
- set h=!h:[HKEY_CURRENT_USER=HKCU!
- set h=!h:[HKEY_CLASSES_ROOT=HKCR!
- set h=!h:[HKEY_USER=HKU!
- set h=!h:[HKEY_CUREENT_CONFIG=HKCC!
- set h=!h:]=!
- )else (set b=%%i
- for /f "tokens=1* delims==" %%i in ("!b!")do (set v=%%i
- if %%i==@ (set v=!v:@=ve!)else set v=v %%i
- set d=%%j
- set t=REG_SZ
- set c=!d:~0,4!
- if !c!==dwor set t=REG_DWORD&&set d=!d:dword:=!&set/a d=0x!d!&set d="!d!"
- if !c!==hex: set t=REG_BINARY&&set d=!d:,=!&&d=!d:hex:=!
- if !c! neq hex^( (
- set d=!d:\\=\!
- set d=!d:%%1=%%%%1!
- set l=!d:~2!
- set r=!d:~-2!
- if not !l!==^"\ if !r!==\^" set d=!d:\"=\\"!
- )
- echo reg add "!h!" /!v! /t !t! /d !d! /f>>"%~dpn1.bat"
- )))
- pause
复制代码
hex(*)等 都没处理好 抛砖引玉
作者: Batcher 时间: 2023-5-27 15:07
回复 1# smss
请举例说说还有啥问题?
作者: smss 时间: 2023-5-27 18:52
本帖最后由 smss 于 2023-5-28 10:14 编辑
回复 2# Batcher 我又改了下 使用时把结果和RegConvert.exe生成对比下 还有许多问题的
例如:- [HKEY_CLASSES_ROOT\regfile\shell\0_RegConvert]
- "Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
- 00,25,00,5c,00,52,00,65,00,67,00,43,00,6f,00,6e,00,76,00,65,00,72,00,74,00,\
- 2e,00,65,00,78,00,65,00,2c,00,34,00,00,00
复制代码
需要把\ ,00 和, 删除 得到2553797374656d526f6f74255c526567436f6e766572742e6578652c34再转换16进制字符串
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |