无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: lyh728
打印 上一主题 下一主题

【原创】reg2cmd

    [复制链接]
跳转到指定楼层
1#
发表于 2007-12-3 10:45:19 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
今天发现dos 论坛有个reg2bat 的小工具,不过功能差得很多,于是下午用perl重写了一个,用perlapp 编译。

12.05 fix  regedit4 的支持
12.04 更新,修正了没有考虑长文件名的bug
增加了自动安装到右键菜单的功能(直接运行,会询问是否安装,目前无卸载)
增加了对 hex(3) hex(6) hex(8) hex(9) hex(a) hex(b) 类型的处理
取消了对批处理文件中元字符的特殊处理
增加了删除键值的功能

12.03 更新,可以处理键值中的=,修复了 增加功能时候引入的低级bug
更新了一个处理结尾的双斜杠的bug,

可以从这里下载
http://www.fs2you.com/en/files/2 ... -80f2-0014221f4662/

[haiou327上传]
reg2cmd.part1.rar (500 KB, 下载次数: 1814)
reg2cmd.part2.rar (500 KB, 下载次数: 1699)
reg2cmd.part3.rar (429.11 KB, 下载次数: 1734)


使用很简单,
reg2cmd.exe   reg文件名字  [批处理文件名字]

下面是北京电子地图的reg 文件
  1. Windows Registry Editor Version 5.00

  2. [HKEY_LOCAL_MACHINE\SOFTWARE\GisWay\BeiJing2007\Browser]
  3. "RunPath"="D:\\北京电子地图2007版\\Browser.exe BeiJing2007"
  4. "Path"="D:\\北京电子地图2007版"
  5. "Assistant"="D:\\北京电子地图2007版\\Assistant\"
  6. "Http"="Http://www.sinomaps.com/EMap/BeiJing2007/"
  7. "UserInfo"="Http://www.sinomaps.com/EMap/BeiJing2007/UserInfo/"
  8. "Print"=dword:00000001
  9. [HKEY_LOCAL_MACHINE\SOFTWARE\GisWay\BeiJing2007\Browser\Html]
  10. "Path"="D:\\北京电子地图2007版\\Html\"

  11. [HKEY_LOCAL_MACHINE\SOFTWARE\GisWay\BeiJing2007\Browser\Map]
  12. "Path"="D:\\北京电子地图2007版\\Map\"

  13. [HKEY_LOCAL_MACHINE\SOFTWARE\GisWay\BeiJing2007\Browser\Server]
  14. "Web"="Http://www.sinomaps.com/EMap/BeiJing2007/"
复制代码
得到的cmd文件
  1. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "RunPath" /t REG_SZ /d "D:\北京电子地图2007版\Browser.exe BeiJing2007"
  2. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "Path" /t REG_SZ /d "D:\北京电子地图2007版"
  3. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "Assistant" /t REG_SZ /d "D:\北京电子地图2007版\Assistant"
  4. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "Http" /t REG_SZ /d "Http://www.sinomaps.com/EMap/BeiJing2007/"
  5. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "UserInfo" /t REG_SZ /d "Http://www.sinomaps.com/EMap/BeiJing2007/UserInfo/"
  6. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "Print" /t REG_DWORD /d 1
  7. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser\Html" /f /v "Path" /t REG_SZ /d "D:\北京电子地图2007版\Html"
  8. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser\Map" /f /v "Path" /t REG_SZ /d "D:\北京电子地图2007版\Map"
  9. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser\Server" /f /v "Web" /t REG_SZ /d "Http://www.sinomaps.com/EMap/BeiJing2007/"
复制代码
把D:\北京电子地图2007版 替换为%CD% ,得到下面的批处理,放在 D:\北京电子地图2007版 目录下,便携版的北京电子地图2007版就诞生了
  1. pushd "~dp0"
  2. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "RunPath" /t REG_SZ /d "%CD%\Browser.exe BeiJing2007"
  3. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "Path" /t REG_SZ /d "%CD%"
  4. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "Assistant" /t REG_SZ /d "%CD%\Assistant"
  5. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "Http" /t REG_SZ /d "Http://www.sinomaps.com/EMap/BeiJing2007/"
  6. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "UserInfo" /t REG_SZ /d "Http://www.sinomaps.com/EMap/BeiJing2007/UserInfo/"
  7. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser" /f /v "Print" /t REG_DWORD /d 1
  8. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser\Html" /f /v "Path" /t REG_SZ /d "%CD%\Html"
  9. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser\Map" /f /v "Path" /t REG_SZ /d "%CD%\Map"
  10. reg add "HKLM\SOFTWARE\GisWay\BeiJing2007\Browser\Server" /f /v "Web" /t REG_SZ /d "Http://www.sinomaps.com/EMap/BeiJing2007/"
  11. popd
复制代码

[ 本帖最后由 haiou327 于 2009-9-28 02:14 编辑 ]

点评

12.07 更新,去掉了外部模块,极大的减小体积 (533KB)  发表于 2021-8-16 12:08
新版 http://cndos.fam.cx/forum/viewthread.php?tid=35913  发表于 2021-8-15 19:38
100楼有新版附件  发表于 2021-8-15 19:02

评分

参与人数 6无忧币 +41 收起 理由
879792799 + 5 很给力!
某些人 + 5 赞一个!
anythingsky + 5 赞一个!
2010hook + 5 水平高!
whatdoingsky + 1 很给力!
yueming9712 + 20 原创内容

查看全部评分

2#
 楼主| 发表于 2007-12-3 14:05:11 | 显示全部楼层
原帖由 阿非 于 2007-12-3 11:58 AM 发表
错误: 命令行参数无效
我转换的结果,怎么都是这个提示?


抱歉,修改代码时候引入了一个低级bug ,应该
ok了
回复

使用道具 举报

3#
 楼主| 发表于 2007-12-3 23:34:50 | 显示全部楼层
to  沙漠之子 :
     感谢您的测试结果和宝贵意见 。
    1、下面这几种reg 的数据类型 hex(5):hex(b):hex(6):hex(8):hex(9): hex(a)  我都没有见过,所以没有支持,而且实际上极少用到这些类型吧,我猜可能vista或者64位xp 中引入的。我目前无法找到这些类型的资料,等我了解这些类型后,可能加上。
    2、 reg_dword 的正确写法就是0 ,是10进制的写法,而不是16进制的写法。

[ 本帖最后由 lyh728 于 2007-12-3 11:40 PM 编辑 ]
回复

使用道具 举报

4#
 楼主| 发表于 2007-12-4 16:04:31 | 显示全部楼层
to lxl1638
2m 是因为 perl 编译成exe嵌进去了很多东西,所以尺寸很大

其余不明白,比如这里 D:\\北京电子地图2007版  是 \\ 怎么替换呢?比较麻烦
回复

使用道具 举报

5#
 楼主| 发表于 2007-12-4 16:16:01 | 显示全部楼层
to  沙漠之子 :
     感谢您的测试结果和宝贵意见 。
   
下面这几种reg 的数据类型 hex(5):hex(b):hex(6):hex(8):hex(9): hex(a)  加上了。
回复

使用道具 举报

6#
 楼主| 发表于 2007-12-6 07:14:13 | 显示全部楼层
原帖由 33ch 于 2007-12-6 12:12 AM 发表
一上来就看到这个好东东,嘿嘿,不知楼主有没有考虑特殊字符?期盼回答


不知道指的是什么字符?  您可以帮我测试一下
回复

使用道具 举报

7#
 楼主| 发表于 2007-12-21 08:45:38 | 显示全部楼层
原帖由 freesoft00 于 2007-12-19 02:45 PM 发表
能否再做一个cmd2reg 的

这是啥意思?
回复

使用道具 举报

8#
 楼主| 发表于 2008-8-2 08:30:53 | 显示全部楼层
原帖由 haiou327 于 2008-4-23 22:54 发表
长文件名还是支持不太好!!!!!!!!!!!!!!!!
请楼主修正。
老帖了!!!!!!!!!!
恐怕楼主没有闲暇来修正了吧。




  1. reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\{D6277990-4C6A-11CF-8D87-00AA0060F5BF}" /f /v "xxx" /t REG_SZ /d "xxx"
  2. pause
复制代码


我简单测试了一下,似乎没有太大问题啊

当然  如果  reg 命令的长度太大(似乎超过1000就不行了,以前测试过,忘记具体数据了),超出cmd 命令的限制就不行
回复

使用道具 举报

9#
 楼主| 发表于 2008-8-16 19:40:14 | 显示全部楼层
PastIconsStream  太长了,远远超过1000了,单个命令行放不下 这么长的数据了。
前面几楼 我不是说了 嘛
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-19 13:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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