中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 20:49
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » reg转bat的批处理,很好。但不是reg add那种【原创】
可打印版本  1,709 / 5
第1楼 icebat 发表于 2009-12-11 04:50
初级用户 发帖 11 积分 20
reg转bat的批处理,很好。但不是reg add那种【原创】
花了我整整一个星期时间。。。哈哈终于弄出来了,
可以实现,任意脚本或者文本转BAT ,再输出。。
打开程序,然后拖需要转换的文档比如test.reg进去。就会产生test_sourse.bat.
双击bat ,就会产生test_new.txt 。

有人问这样做有什么好处。比如你的reg 需要放在其他人的电脑上面使用,路径不一定,就需要变量,那么这个生成的test_sourse.bat改几句话。设置一个变量。拷过去运行就可以了。因为批处理是可以用regdit /s 来导入注册表的。这样就实现了双击一个bat 完成所有事情。

由于百度空间有的符号可能显示不出来,所以最好别直接复制。需要代码可以去中国DOS联盟,批处理板块论坛上找。我放在上面了的。


========================================================================================


上面这个东东,由于最后一行用echo输出,所以最后一行会有一个空行,这个是没有办法解决的。不过一般来说不碍事。
所以下面就用set输出最后一行,不过如果遇到最后一行的开头是"就出问题了。而且set是需要人按回车才能继续运行。。所以,在执行test_sourse.bat时,会需要手动按一下回车。所以希望哪个改一下。。

=======================================================================================

有问题的代码。。



因为只懂得简单的脚本语言所以这个非常重要,特别是reg 转bat,就方便啦。
也许高手看来这个很SB,但是我从写这个的一个东西,上网找,问高手,自己领悟,学到了很多东西。。。


测试文本。。。复杂符号。。
test.txt

"aou"eo

;euou%^>
::::aeui

:::E2uo alejou 3<o2io|
^aue||%ou

!aue!
@$E(*^&%^#!~~@~~~~~!!!!%^&%$^0--==-=907834-0__+0(Y&*5#43@544&)+_+_83!@`165544!!~~@@##$$%%^^&&**(())__++==--00&^$#$@!~#$##!@!%%##%#%&$@~~!$^(*^##$@~!~@$%$&^(*_(_*&^&^#!!~!~)_)_)+)|)+-)|+)|+|\==-=8^&$%$$#!@!~!@~@#%$^&)_*_+(+\)|)**(^&*6..:":":":";';';';'":":".,.,><><>.,.,.,<><><>><<<>>><><<<<>><>":".,
aoue eou 2
!str!auoeu!ueo &&
euo 8
ueyi^^^^aueuo2
~ ! @ # $ % ^ & * ( () " ok " No " <>nul
set ok=^
3123
"***
@$E(*^&%^#!~~@~~~~~!!!!%^&%$^0--==-=907834-0__+0(Y&*5#43@54*4/&)*+_+_83-00&^$#$@!~#$##!@!%%##*%#%&$@~~!$^(*^##$@~!~@$%$&^(*_(_*&^&^#!!~!~)_)_)+)|)+-)|+)|+|\==-=8^&$%$$#!@!~!@~@#%$^&)_*/_+(+\)|)**(^/&*6.<><*><>\/0*0/*&//%)%#!!@#$#~!~~```#@@%$$&^^(*&)**))@~()~)!&#*&#!~~%*)%#)@&@#~%()$~&*()/*:":<></>/}{}-="_+.l;p-]>>**<*><>**><><>*<<<<>>>>''"""'""""""LL"l>><.?//;//??//;l"":'



测试文本2 复杂注册表。。

REGEDIT4



"ctfmon.exe"="C:\\WINDOWS\\system32\\ctfmon.exe"



@="\"D:\\Program Files\\EmEditor\\EmEditor.exe\" %1"


@=""
"IsShortcut"=-


"ExceptionServers"="*.update.microsoft.com download.windowsupdate.com siteseal.thawte.com ecom.cimetz.com *.voice2page.com"
"Extensions"="3GP 7Z A0* A1* AAC ACE AIF ARJ ASF AVI BIN BZ2 EXE GZ GZIP IMG ISO LZH M4A M4V MOV MP3 MPA MPE MPEG MPG MSI MSU OGG PDF PLJ PPS PPT QT R0* R1* RA RAR RM SEA SIT SITX TAR TIF TIFF WAV WMA WMV Z ZIP"
"ExePath"="D:\\Program Files\\Internet Download Manager\\IDMan.exe"
"TipFilePos"=dword:000000a0
"tvfrdt"=hex(0):fb,7b,1f,5e
"evDownloadFailed"=hex(0):44,6f,77,6e,6c,6f,61,64,20,66,61,69,6c,65,64,00,fb,\
92,7c,14,f8,12,00,b0,f6,12,00,1c,f8,12,00,5c,f6,12,00,58,d9,92,7c,bc,fc,12,\
00,18,ee,92,7c,78,fb,92,7c,ff,ff,ff,ff,71,fb,92,7c,81,d5,da,77,1a,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"evQueueStarted"=hex(0):51,75,65,75,65,20,70,72,6f,63,65,73,73,69,6e,67,20,73,\
74,61,72,74,65,64,00,00,00,00,00,00,e8,3d,18,00,00,00,15,00,32,07,93,7c,18,\
02,00,00,78,07,01,00,43,00,00,00,20,f7,12,00,b8,f7,12,00,bc,fc,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00

"windowPlacementV5"=hex(2):2c,00,00,00,00,00,00,00,01,00,00,00,ff,ff,ff,ff,ff,\
ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,90,00,00,00,97,00,00,00,66,03,00,00,99,02,\
00,00
"sortOrder"=dword:00000000
"ToolbarStyle"="3D Style"



对第一段代码,上面两个例子我都测试通过,大家也可以测试一下。。


也许高手看来这个很SB,里面也有很多无用的代码,但是我从写这个的一个东西,上网找,问高手,自己领悟,学到了好多东西。。。


另外,我用这个绿化了 火狐3.5.5,(其实这是我绿化的时候临时做的一个工具,只是有时间把它完善了)可以带U盘上面,插件设置不会丢,也可以安装插件。全脚本语言绿化的哦(只会批处理。。)。还到国外网站找了一个启动加速(也绿化了),启动速度现在比遨游快,媲美IE了。并且集合了很多常用插件,优化设置。网上所有的火狐绿化方式是使用【蓝冰工作室的火狐引导器】包括什么苦菜花,绫川版。。但是这样估计就没办法用加速器了。而且通过其他程序进入火狐,感觉不爽。现在正自己测试中,感觉好了就发出来大家研究。。

感谢HAT 版主,提供好多的帮助。 有幸和他一起吃过一次饭。。。后来才知道,是这里的版主啊。。

[ Last edited by icebat on 2009-12-11 at 14:30 ]
第2楼 HAT 发表于 2009-12-11 10:26
版主 发帖 5,017 积分 9,023
感谢分享。

regedit /s和reg add相比,缺点在于,如果注册表处于锁定状态,前者是无法成功导入的。在regedit /s之前,先用reg add解锁(不管有没有锁定,先解锁一下再说)注册表也许会好些。
第3楼 icebat 发表于 2009-12-11 14:28
初级用户 发帖 11 积分 20
嗯。 非常好的建议。。。。我有两个问题
1.
set /p=1234456>>123.txt
这个有没有办法不用按回车就可以继续运行?
2.
set /p= 如果第一个符号是 " 就会出现错误。第一个符号如果不是,就不会。。
例子:
set aa="faiodjfioj"dfd""fdf 最前有个"号 也会出错。
set aa=%aa:^"=^^"%
set /p=%aa%>>123.txt

但是如果用双引号把要输出的内容扩起来,那么,如果中间出现双引号就不能够转义,也会出错。。。
例子:
set aa=faiodjfioj"dfd""fdf
set aa=%aa:^"=^^"% 这一段转义就没有用
set /p="%aa%">>123.txt 就会出错。

错误在我的第二个代码里面。

[ Last edited by icebat on 2009-12-11 at 14:30 ]
第4楼 aries215 发表于 2009-12-12 00:03
初级用户 发帖 46 积分 29
辛苦了!谢谢分享!
转换过程中还要人工操作中间产物,未免麻烦了一点吧,为什么不一口气转换出成品?

[ Last edited by aries215 on 2009-12-14 at 01:45 ]
第5楼 icebat 发表于 2009-12-12 16:54
初级用户 发帖 11 积分 20
LS ,那个不是中间产物,我要的就是得到那个东西,因为得到以后,可以根据自己的需要更改。只要在里面加几个命令就可以双击导入了。
如果直接就得到结果就没有转换的意义啦。而且局限性太高了
第6楼 aries215 发表于 2009-12-14 01:46
初级用户 发帖 46 积分 29
不好意思,其实我看的不是很仔细,因为我比较偏爱“reg add”那种形式,不好意思啦!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023