![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 15:51 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » reg2bat |
| 可打印版本 4,083 / 14 |
| 第1楼 vkill | 发表于 2006-11-20 07:09 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
reg2bat 看了最近的几个提问 reg2bat 的帖子,觉得写出来还是蛮实用的,昨晚写的,大家测试下
sed用的不好,感觉有很多垃圾代码,望大虾指点 sed下载:http://www.yx127.com/tools/gsed_407x.rar [ Last edited by vkill on 2006-11-21 at 09:31 AM ] |
|
| 第2楼 vkill | 发表于 2006-11-20 07:09 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
希望有用,呵呵 ~支持*.bat
[ Last edited by vkill on 2006-11-20 at 07:10 AM ] |
|
| 第3楼 3742668 | 发表于 2006-11-20 13:34 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
reg2bat的关键不在于reg的格式,而是在于reg的键值类型。
记得上次我转过一贴,上面就详细地描述了不同类型键值的表示方式。 只有能把下面几种类型的键值还原,那么才能真正地实现reg2bat: 0 reg_none 1 reg_sz 2 reg_expand_sz 3 reg_binary 4 reg_dword, reg_dword_little_endian 5 reg_dword_big_endian 6 reg_link 7 reg_multi_sz 8 reg_resource_list 9 reg_full_resource_descriptor 10 reg_resource_requirements_list 如果要纯粹地通过批处理来完成的话,建议用查表的方式来实现。例如下面是一个把ip地址置换为hex(7)类型的脚本,没有出错处理,且只能处理ip地址: 太久以前写的,现在看来代码很不成熟,发出来做个参考吧。 |
|
| 第4楼 vkill | 发表于 2006-11-21 09:08 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
3742668斑竹
sed "s/=/=REG_SZ=/" |sed "s/=REG_SZ=dword:/=REG_DWORD=/;s/=REG_SZ=hex:/=REG_BINARY=/;s/=REG_SZ=hex(7):/=REG_MULTI_SZ=/;s/=REG_SZ=hex(2):/=REG_EXPAND_SZ=/" 上面这段就是判断reg的键值类型并还原的哦 [ Last edited by vkill on 2006-11-21 at 09:49 AM ] |
|
| 第5楼 vkill | 发表于 2006-11-21 09:37 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
我测试的时候是导出reg来试验的哦
|
|
| 第6楼 qpmgljf | 发表于 2007-01-08 04:47 |
| 初级用户 发帖 49 积分 125 | |
|
楼主啊。。。。不行。。。。。拖进去后什么也不显示。拖别的文件也不显示。都是只显示一个拖进去的文件的路径而已啊。。。。
能再编一下吗?急用哦。~~~~ |
|
| 第7楼 yxii001 | 发表于 2007-01-17 23:44 |
| 新手上路 发帖 9 积分 18 | |
|
楼主
第一次拖进去没用,第二次就退出了,期间无任何提示 |
|
| 第8楼 zh159 | 发表于 2007-01-17 23:55 |
| 金牌会员 发帖 1,467 积分 3,687 | |
Originally posted by qpmgljf at 2007-1-7 15:47: 好像是%life_r%变量部分位置没做好双引号,造成包含空格的目录出错 |
|
| 第9楼 vkill | 发表于 2007-01-18 08:35 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by zh159 at 2007-1-17 23:55: 哎,今天我才发现,超级错误啊 |
|
| 第10楼 bingxiao20 | 发表于 2007-04-30 02:46 |
| 初级用户 发帖 31 积分 68 | |
|
这个有修改好么?就是那个变量那里。。
|
|
| 第11楼 ghost2008 | 发表于 2007-09-10 11:17 |
| 新手上路 发帖 6 积分 12 | |
|
改成这个就行啦,输入你想转换的REG文件一秒就生成BAT文件,用下来,百分百实用
@echo off :manu cls echo. echo 请输入要转换的注册表文件名(完整路径): set object= set /p object= echo %object%|find /i ":" && goto :do echo. echo 错误!要求输入完整的路径和注册表文件名! echo. echo 例如:D:\soft\anti.reg echo. echo 任意键返回重新输入…… pause>nul cls goto manu :do echo. for /f "tokens=*" %%a in ('type %object%') do echo echo %%a^>^>temp1234.reg>>%object%.bat echo regedit /s temp1234.reg>>%object%.bat echo del /f /q /a temp1234.reg>>%object%.bat echo. echo 已经转换成%object%.bat!任意键退出…… pause>nul exit |
|
| 第12楼 hdzc | 发表于 2007-10-27 08:51 |
| 初级用户 发帖 86 积分 146 | |
|
『第 11 楼』ghost2008
发的很好用 |
|
| 第13楼 dato | 发表于 2007-10-27 12:56 |
| 高级用户 发帖 377 积分 916 | |
|
ghost2008这种方式
其实以前在实现桌面时用regedit /s命令但这个命令在受限的user却会提示权限问题用reg add方式又没问题, |
|
| 第14楼 freesoft00 | 发表于 2007-11-28 15:00 |
| 新手上路 发帖 2 积分 4 | |
|
vkill把你的代码修正一下吧。我不会。
|
|
| 第15楼 vkill | 发表于 2007-12-09 15:36 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by freesoft00 at 2007-11-28 15:00: 我觉得还是用reg2inf吧,那个没有是么bug |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |