无忧启动论坛

 找回密码
 注册
搜索

Reg2Bat_By Slore(生成同名bat文件,支持XP、WIN7、WIN7X64).VBS

查看数: 15482 | 评论数: 56 | 收藏 29
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-2-17 08:32

正文摘要:

本帖最后由 liuzhaoyzz 于 2017-11-16 10:47 编辑 原文http://slore.blogbus.com/logs/52627038.html Slore编写的这个reg文件转换为bat文件,是逐句转换的,不是通过批处理生成临时reg文件然后导入的方法,很不 ...

回复

ol8090 发表于 2022-11-7 09:06:30
非常不错支持!
liuzhaoyzz 发表于 2022-6-13 18:29:42
kidzgy 发表于 2022-6-13 17:42
系统Windows10,x64,这个注册表的作用是,对着【计算机】右键,弹出【程序和功能】菜单
针对这个注册表 ...

算法都是slore提供的,可能对REG_EXPAND_SZ值转换确实有问题。
kidzgy 发表于 2022-6-13 17:42:27

系统Windows10,x64,这个注册表的作用是,对着【计算机】右键,弹出【程序和功能】菜单
  1. Windows Registry Editor Version 5.00

  2. [HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Dezinstall]
  3. @="程序和功能"
  4. "SuppressionPolicy"=dword:4000003c
  5. "icon"="SHELL32.dll,162"

  6. [HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Dezinstall\command]
  7. @=hex(2):72,00,75,00,6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,\
  8.   00,20,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\
  9.   2c,00,43,00,6f,00,6e,00,74,00,72,00,6f,00,6c,00,5f,00,52,00,75,00,6e,00,44,\
  10.   00,4c,00,4c,00,20,00,61,00,70,00,70,00,77,00,69,00,7a,00,2e,00,63,00,70,00,\
  11.   6c,00,00,00
复制代码
针对这个注册表文件,VBS无法转换,弹出如下提示。


至于双心,转换有瑕疵,与【Reg Converter v1.2】(来源sordum.org)比较,差异为:
  1. reg add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Dezinstall" /ve /d "程序和功能" /f
  2. reg add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Dezinstall" /v "SuppressionPolicy" /t REG_DWORD /d 1073741884 /f
  3. reg add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Dezinstall" /v "icon" /d "SHELL32.dll,162" /f
  4. reg add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Dezinstall\command" /ve /t  /d "rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl" /f
  5. REM 以上部分为双心转换
  6. REM 以下部分为Reg Converter v1.2转换
  7. reg add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Dezinstall" /ve /t REG_SZ /d "程序和功能" /f
  8. reg add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Dezinstall" /v "SuppressionPolicy" /t REG_DWORD /d "1073741884" /f
  9. reg add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Dezinstall" /v "icon" /t REG_SZ /d "SHELL32.dll,162" /f
  10. reg add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Dezinstall\command" /ve /t REG_EXPAND_SZ /d "rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl" /f
复制代码
综合以上,双心转换,对REG_EXPAND_SZ值转换有缺失,少了【REG_EXPAND_SZ】参数。




点评

算法都是slore提供的,可能对REG_EXPAND_SZ值转换确实有问题。  详情 回复 发表于 2022-6-13 18:29
zgo 发表于 2021-7-7 16:31:58
非常实用的工具
蓝星明月 发表于 2021-7-7 15:20:48
谢谢分享!!!
tcog 发表于 2021-6-13 20:13:43
多:谢
kkocdko 发表于 2021-6-13 11:19:31
这样其实很慢,导入的效率很低,比生成Reg再导入慢了一大截
liuzhaoyzz 发表于 2021-6-13 10:57:14
kkkssc 发表于 2021-6-13 00:19
网上找了半天,没发现直接转的,几个软件都是先把reg文档先嵌入bat内部,用的时候输出。reg,然后导入reg, ...

本来就是直接转的。
kkkssc 发表于 2021-6-13 00:19:32
网上找了半天,没发现直接转的,几个软件都是先把reg文档先嵌入bat内部,用的时候输出。reg,然后导入reg,  谁有直接转bat的共享一下,  意思是用的 reg 命令,比如reg add hklm\system\mount........

点评

本来就是直接转的。  详情 回复 发表于 2021-6-13 10:57
2011wolfsina 发表于 2021-6-12 23:43:51
论坛有个reg2cmd的也挺好用的。
wang5258180 发表于 2017-12-3 18:23:22
非常好.这样不用自己写了
2011tjqct 发表于 2017-12-1 00:04:41
这个不错,试试如何。
liuzhaoyzz 发表于 2017-11-16 15:55:41
VBS很难调试,VB版本是否可用?
345345 发表于 2017-11-16 15:41:46
win7-x86出现这样的错误

20171116153957.jpg (27.84 KB, 下载次数: 40)

20171116153957.jpg
dlwfdlikuan 发表于 2017-11-16 14:35:59
谢谢楼主的分享!
raymondxqm 发表于 2017-11-16 11:34:22
感谢楼主更新,支持下。
liuzhaoyzz 发表于 2017-11-16 10:51:43
更新了VB版本,
1、无论32位还是64位,强制安装在C:\Program Files下面,避免出现右击菜单失效的问题。
2、完善了卸载菜单,确保卸载后右击菜单被去掉。
如果有需要的请重新在一楼下载即可。
wbz2cdma 发表于 2017-3-15 21:38:07
漂亮,非常好用。
liuzhaoyzz 发表于 2017-3-14 15:13:30
7、修正reg最后一行可能遗漏的问题。
已在一楼重新上传。对Slore的代码不是很了解,他本人应该最懂。

szy106 发表于 2017-3-14 09:21:35
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\{C2FBB630-2971-11D1-A18C-00C04FD75D13}]
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\{C2FBB631-2971-11D1-A18C-00C04FD75D13}]

转完剩一条了

reg add "HKCR\AllFilesystemObjects\shellex\ContextMenuHandlers\{C2FBB630-2971-11D1-A18C-00C04FD75D13}" /f
moran 发表于 2017-2-25 21:38:31
又有修改,下载看看。
liuzhaoyzz 发表于 2017-2-21 16:47:09
本帖最后由 liuzhaoyzz 于 2017-2-21 16:49 编辑

VBS基本上都是调用各种组件和对象,拼接起来,如果操作系统没有提供这种组件,就要寻找替代方案了。这是VBS本身的问题,每种语言都有他的优点和不足,网页服务器和客户端还不是有很多VBS JS脚本。
VB调用的还是commondialog,VBS下面只有xp支持这个组件,WIN7以上都不支持,要用其它组件比如mshta方案代替。
nttwqz 发表于 2017-2-21 16:41:24
liuzhaoyzz 发表于 2017-2-19 08:31
VB的代码,不能完全复制到VBS中运行,反之亦然。VBS适合实现一些简单的功能,上面几位要求右击reg文件运行 ...
VBS能实现选择文件的对话框就已经很吃力了


这是真的吗?是vbs本身问题,还是?

我还准备有空学下vbs呢,看来以后还是研究au3吧……
liuzhaoyzz 发表于 2017-2-21 16:30:23
5、把为了适应adodb.stream读取,将GetEncoding(FileName)函数中的ansi改为ascii。
6、增加了第二种方案:【临时reg导入方案(通用)】按钮,通过生成一个临时的注册表temp.reg文件,来导入,该方法较通用,但代码较长。默认方案点【打开】按钮是直接转换为批处理reg add、reg delete等语句,对于复杂字符处理不完善,但生成的批处理代码简洁。两种方案根据自己的喜好自行选择吧。
附件已重新上传在1楼,请重新下载。
wychun 发表于 2017-2-21 14:09:02
谢谢大神付出
少马石 发表于 2017-2-21 11:39:20
这个非常有用,谢谢
liuzhaoyzz 发表于 2017-2-21 08:02:18
frg521 发表于 2017-2-20 21:46
能转换此注册表成功吗使用键盘上所有符号-因为注册表除了反斜杠都有效

随便加几个符号就没法使用了,vbs ...

看了下你这个注册表文件,要是能转换那真是神了,你这个题目我是无能为力,bat中有很多特殊字符,对于特殊字符,处理起来需要大量的代码,程序只能处理一般字符。
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\~!@#$%^&*)(_+|}{":>?<[];'.,/=- ABC`123 ) ( )&& ^ % =-]
"~!@#$%^&*)(_+|}{\":>?<[];'.,/=- ABC`123 ) ( )&& ^ % =-"="~!@#$%^&*)(_+|}{\":>?<[];'.,/=- ABC`123 ) ( )&& ^ % =-"
@=hex(7):7e,00,21,00,40,00,23,00,24,00,25,00,5e,00,26,00,2a,00,29,00,28,00,5f,\
  00,2b,00,7c,00,7d,00,7b,00,22,00,3a,00,3e,00,3f,00,3c,00,5b,00,5d,00,3b,00,\
  27,00,2e,00,2c,00,2f,00,3d,00,2d,00,20,00,41,00,42,00,43,00,60,00,31,00,32,\
  00,33,00,20,00,29,00,20,00,28,00,20,00,29,00,26,00,26,00,20,00,5e,00,20,00,\
  25,00,20,00,3d,00,2d,00,00,00,00,00
"~!@#$%^&*)(_+|}{\":>?<[];'.,/=- ABC`123 ) ( )&& ^ % =-2"=hex(2):7e,00,21,00,\
  40,00,23,00,24,00,25,00,5e,00,26,00,2a,00,29,00,28,00,5f,00,2b,00,7c,00,7d,\
  00,7b,00,22,00,3a,00,3e,00,3f,00,3c,00,5b,00,5d,00,3b,00,27,00,2e,00,2c,00,\
  2f,00,3d,00,2d,00,20,00,41,00,42,00,43,00,60,00,31,00,32,00,33,00,20,00,29,\
  00,20,00,28,00,20,00,29,00,26,00,26,00,20,00,5e,00,20,00,25,00,20,00,3d,00,\
  2d,00,32,00,00,00
201287zr 发表于 2017-2-20 22:29:27
非常不错支持!
yexingqi 发表于 2017-2-20 21:35:57
liuzhaoyzz 发表于 2017-2-20 16:49
索性直接上传附件完事,见1楼。
VBS,VB版本附件rar。
修正了reg转bat对于()的处理,确保正确转换。例 ...

大赞! 用你最新的.vbs在64位win7执行一切正常了。这真是好东东。
感谢您的无私共享!  谢谢你!
liuzhaoyzz 发表于 2017-2-20 16:49:00
489432757 发表于 2017-2-20 10:30
VBS可能认编码,直接复制是UNICODE编码,而且有空行,应该是因为这样才报错。
用PECMD脚本转换一下应该 ...

索性直接上传附件完事,见1楼。
VBS,VB版本附件rar。
修正了reg转bat对于()的处理,确保正确转换。例如reg_sz数据中有C:\Program Files (x86)也可以正确导入。
请重新下载,XP WIN7X86 WIN7X64测试通过。
WIN8以上未测试。

点评

大赞! 用你最新的.vbs在64位win7执行一切正常了。这真是好东东。 感谢您的无私共享! 谢谢你!  详情 回复 发表于 2017-2-20 21:35

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-8-12 00:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表