中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助: 如何将注册表文件转成批处理文件
« [1] [2] [3] »
作者:
标题: 求助: 如何将注册表文件转成批处理文件 上一主题 | 下一主题
hxuan999
中级用户

DOS之日


积分 337
发帖 161
注册 2006-11-4
状态 离线
『第 16 楼』:  

期待中.....



for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
2006-11-23 00:58
查看资料  发送邮件  发短消息 网志  OICQ (33899867)  编辑帖子  回复  引用回复
a9319751
中级用户





积分 439
发帖 170
注册 2006-1-9
状态 离线
『第 17 楼』:  



  Quote:
Originally posted by fastslz at 2006-11-9 09:43:
另有~~~~~~~~~~

[code]@echo off
echo REGEDIT4>tmp.reg
echo.>>tmp.reg
echo [HKEY_CLASSES_ROOT\Directory\shell\cmd]>>tmp.reg
echo @="CMD 命令提示符">>tmp.r ...

没明白这个是什么意思

2006-11-28 05:54
查看资料  发送邮件  发短消息 网志  OICQ (5040366)  编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 18 楼』:  



  Quote:
Originally posted by a9319751 at 2006-11-28 05:54:



没明白这个是什么意思

这是用批处理生成一个注册表文件"tmp.reg",将它导入到注册表,最后删除这个注册表文件。



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-11-28 06:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
q8q8feng
初级用户





积分 56
发帖 28
注册 2006-10-26
状态 离线
『第 19 楼』:  



  Quote:
Originally posted by eech at 2006-11-9 10:58 AM:
议:我们做一个reg2bat.bat的批处理如何?自动把.reg转换成reg命令的批处理

请需要的朋友跟帖

支持一下

2006-11-29 04:09
查看资料  发送邮件  发短消息 网志  OICQ (40975788)  编辑帖子  回复  引用回复
edward
新手上路





积分 2
发帖 1
注册 2006-12-10
状态 离线
『第 20 楼』:  

顶了

2006-12-10 07:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastrun
初级用户





积分 46
发帖 24
注册 2006-12-13
状态 离线
『第 21 楼』:  



  Quote:
Originally posted by electronixtar at 2006-11-8 09:42 PM:
建议:我们做一个reg2bat.bat的批处理如何?自动把.reg转换成reg命令的批处理?

支持一个

2006-12-14 02:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 22 楼』:  



  Quote:
Originally posted by electronixtar at 2006-11-9 10:42:
建议:我们做一个reg2bat.bat的批处理如何?自动把.reg转换成reg命令的批处理?

以前曾想过用 gawk 写一个,发现太复杂了,啃了一段时间也没有进展。大家可以多一些这方面的研究,能操作注册表可干的事太多了。



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2006-12-14 03:55
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 23 楼』:  



  Quote:
Originally posted by electronixtar at 2006-11-9 10:42:
建议:我们做一个reg2bat.bat的批处理如何?自动把.reg转换成reg命令的批处理?

这个建议非常好,也非常实用。不过难度系数是多大。

2006-12-14 05:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 24 楼』:  

写注册表有很多种方式,我一般采用echo>>和REG命令的方式。
下面贴上我编写ACCESS2003绿色版本时对注册表操作的一段代码。

REM 设置注册表1.设置应用程序路径以便在命令行中执行该程序,这里使用导入生成并导入注册表的方法
ECHO REGEDIT4 >>APPPaths.REG
ECHO. >>APPPaths.REG
ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE] >>APPPaths.REG
ECHO @="%CPATH%\\MSACCESS.EXE" >>APPPaths.REG
ECHO "Path"="%CPATH%\\" >>APPPaths.REG
ECHO "useURL"="1" >>APPPaths.REG
regedit /s APPPaths.REG >NULL
del APPPaths.REG /q/f >NULL
cls

REM 设置注册表2.设置应用程序的产品注册授权信息,否则软件无法使用,这里使用REG方法
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\73A4C9C1-D68D-11d0-98BF-00A0C90DC8D9\11.0\Retail" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\73A4C9C1-D68D-11d0-98BF-00A0C90DC8D9\11.0\Retail" /ve  /t REG_SZ /d sbbcdcprktpjtapmmfdacmupasbhscddncgp /f
cls

REM 设置注册表3.设置VBA路径,否则无法使用VBE编辑程序进行二次开发,这里仍然使用REG方法,注意使用变量使用""括起来,帮助说的是使用%%,这是不正确的
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VBA" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VBA" /v "Vbe6DllPath" /t REG_SZ /d "%CommonProgramFiles%"\MICROS~1\VBA\VBA6\VBE6.DLL /f
cls

REM 设置注册表4.设置软件注册表信息,一般为软件名称下的注册表项
binsub office.REG E:\\OFFICE2003\\OFFICE11\\ %CPATH%\\ >NULL
binsub office.REG C:\\ %SystemDrive%\\ >NULL
regedit /s office.REG >NULL
del office.REG /q/f >NULL
CHCP 936 >NULL
cls

REM 设置注册表5.设置文件关联,这里也可以使用FOR来实现.注意的是1.8版的BINSUB最多只支持127字符,现在2.1版已经解决了这个问题.
binsub link.reg E:\\OFFICE2003\\OFFICE11\\ %CPATH%\\ >NULL
binsub link.reg C:\\ %SystemDrive%\\ >NULL
regedit /s link.reg >NULL
del link.reg /q/f >NULL
CHCP 936 >NULL
cls

REM 设置注册表6.创建语言设置加载项Language.mda,设置后也可以通过语言设置加载项来设置ACCESS界面语言
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Access\Menu Add-Ins\&Language Setting" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Access\Menu Add-Ins\&Language Setting" /v "Expression" /t REG_SZ /d "=LangSet()" /f
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Access\Menu Add-Ins\&Language Setting" /v "Library" /t REG_SZ /d "Language.mda" /f

REM 设置注册表7.增加自带的控件和增强型控件以便用于高级开发.
REM 去掉了OWC11.DLL MSRTEDIT.DLL,REFEDIT.DLL等控件,需要时可以再添加
REM 先注册SNAPVIEW.OCX快照文件,该文件已经先在profile.exe中解压了.
regsvr32  /s "%CommonProgramFiles%\Micros~1\Snapsh~1\SNAPVIEW.OCX"
REM 注册自带控件和增强控件
plugin.exe
REM 条形码控件
copy plugin\MSBCODE9.OCX ..\ /Y >NULL
regsvr32  /s ..\MSBCODE9.OCX
REM 日历控件MSCAL.OCX,其中Mscomct2.ocx是更好用的日历控件
copy plugin\MSCAL.OCX ..\ /Y >NULL
regsvr32  /s ..\MSCAL.OCX
copy plugin\Mscomct2.ocx ..\ /Y >NULL
regsvr32  /s ..\Mscomct2.ocx
REM form2.0控件
copy plugin\FM20.DLL %WINDIR%\SYSTEM32\ /y  >NULL
regsvr32  /s %WINDIR%\SYSTEM32\FM20.DLL
REM VSFLEX3.0控件
copy plugin\VSFLEX3.OCX %WINDIR%\SYSTEM32\ /y  >NULL
regsvr32  /s %WINDIR%\SYSTEM32\VSFLEX3.OCX
REM 公用组件最新控件6.0:mscomctl.ocx(5.0的为comctl32.ocx,这里不用),需要授权注册
copy plugin\mscomctl.ocx %WINDIR%\SYSTEM32\ /y >NULL
regsvr32  /s %WINDIR%\SYSTEM32\mscomctl.ocx
REM 公用对话框最新控件6.0:COMDLG32.OCX,需要授权注册
copy plugin\COMDLG32.OCX %WINDIR%\SYSTEM32\ /y >NULL
REM 串口编程最新控件6.0:Mscomm32.ocx,需要授权注册
copy plugin\Mscomm32.ocx %WINDIR%\SYSTEM32\ /y >NULL
regsvr32  /s %WINDIR%\SYSTEM32\Mscomm32.ocx
REM 文本编辑最新控件6.0:RICHTX32.OCX,需要授权注册
copy plugin\RICHTX32.OCX %WINDIR%\SYSTEM32\ /y >NULL
regsvr32  /s %WINDIR%\SYSTEM32\RICHTX32.OCX
REM 表格最新控件6.0:MSFLXGRD.OCX,需要授权注册
copy plugin\MSFLXGRD.OCX %WINDIR%\SYSTEM32\ /y >NULL
regsvr32  /s %WINDIR%\SYSTEM32\MSFLXGRD.OCX
REM 网络最新控件6.0:Mswinsck.ocx,需要授权注册 >NULL
copy plugin\Mswinsck.ocx %WINDIR%\SYSTEM32\ /y
regsvr32  /s %WINDIR%\SYSTEM32\Mswinsck.ocx
regedit /s PLUGINS.REG >NULL
del PLUGINS.REG /q/f >NULL
RD plugin /Q/S >NULL
CLS

REM 创建程序运行的快捷方式:桌面,快速启动栏,程序菜单,这里使用LEELINK工具,在创建之前,需要更改CPATH环境变量(可使用COPY法)
CALL CPTEMP.bat
SLINK /F:%CPATH%\MSACCESS.EXE /C:Microsoft Office Access 2003 /s:y /d:y
del slink.exe /q/f >NULL
rem ================================================================
rem cd ..
rem copy Micros~1.lnk "%ALLUSERSPROFILE%\桌面\ /Y"
rem copy Micros~1.lnk %ALLUSERSPROFILE%\桌面\「开始」菜单\ /Y
rem copy Micros~1.lnk %ALLUSERSPROFILE%\桌面\「开始」菜单\程序 /Y
rem cd STARTUP\
rem ================================================================
cls

2006-12-14 05:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kich
中级用户





积分 397
发帖 168
注册 2006-10-8
状态 离线
『第 25 楼』:  

强啊强啊,纯粹一个盲人在看帖!!

2006-12-16 00:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
swlove
初级用户





积分 84
发帖 28
注册 2006-10-2
状态 离线
『第 26 楼』:  



  Quote:
Originally posted by kich at 2006-12-16 00:15:
强啊强啊,纯粹一个盲人在看帖!!

同样的感受...

2006-12-16 07:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qpmgljf
初级用户





积分 125
发帖 49
注册 2006-12-24
状态 离线
『第 27 楼』:  

强人。。。不过看得我眼花瞭乱的。。。。。26楼的能不能直接编出来一个转换程序来啊。。。。。

2007-1-7 05:51
查看资料  发送邮件  发短消息 网志  OICQ (61813046)  编辑帖子  回复  引用回复
bingxiao20
初级用户





积分 68
发帖 31
注册 2007-3-23
状态 离线
『第 28 楼』:  



  Quote:
Originally posted by fastslz at 2006-11-8 08:43 PM:
另有~~~~~~~~~~

[code]@echo off
echo REGEDIT4>tmp.reg
echo.>>tmp.reg
echo [HKEY_CLASSES_ROOT\Directory\shell\cmd]>>tmp.reg
echo @="CMD 命令提示符">>tmp.r ...

这段批处理怎么用的。。。还是没有看明白。。。。

2007-4-30 02:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hdzc
初级用户





积分 146
发帖 86
注册 2007-10-1
状态 离线
『第 29 楼』:  

期待右键reg2bat

2007-10-27 20:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lzys
初级用户





积分 54
发帖 28
注册 2006-10-16
状态 离线
『第 30 楼』:  

5楼朋友的建议我强烈支持...呵呵...省去了很多麻烦...哈哈

2007-10-28 01:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: