中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-05 06:01
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助: 如何将注册表文件转成批处理文件 查看 5,148 回复 31
16 发表于 2006-11-23 00:58
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
19年会员
UID 69523
性别 男
状态 离线
期待中.....
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
17 发表于 2006-11-28 05:54 ·  中国 河南 郑州 电信
中级用户
★★
积分 439
发帖 170
注册 2006-01-09 20:29
20年会员
UID 48707
状态 离线
Originally posted by fastslz at 2006-11-9 09:43:
另有~~~~~~~~~~

@echo off
echo REGEDIT4>tmp.reg
echo.>>tmp.reg
echo >>tmp.reg
echo @="CMD 命令提示符">>tmp.r ...



没明白这个是什么意思
18 发表于 2006-11-28 06:14 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
Originally posted by a9319751 at 2006-11-28 05:54:



没明白这个是什么意思



这是用批处理生成一个注册表文件"tmp.reg",将它导入到注册表,最后删除这个注册表文件。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
19 发表于 2006-11-29 04:09 ·  中国 福建 龙岩 移动
初级用户
积分 56
发帖 28
注册 2006-10-26 11:30
19年会员
UID 68358
性别 男
状态 离线
Originally posted by eech at 2006-11-9 10:58 AM:
议:我们做一个reg2bat.bat的批处理如何?自动把.reg转换成reg命令的批处理

请需要的朋友跟帖

支持一下
20 发表于 2006-12-10 07:56 ·  中国 上海 静安区 电信
新手上路
积分 2
发帖 1
注册 2006-12-10 07:09
19年会员
UID 73095
性别 男
状态 离线
顶了
21 发表于 2006-12-14 02:24 ·  中国 吉林 长春 联通
初级用户
积分 46
发帖 24
注册 2006-12-13 23:06
19年会员
UID 73425
性别 男
状态 离线
Originally posted by electronixtar at 2006-11-8 09:42 PM:
建议:我们做一个reg2bat.bat的批处理如何?自动把.reg转换成reg命令的批处理?

支持一个
22 发表于 2006-12-14 03:55 ·  中国 浙江 宁波 鹏博士宽带
荣誉版主
★★★
积分 1,338
发帖 356
注册 2005-07-15 12:09
20年会员
UID 40733
性别 男
状态 离线
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

23 发表于 2006-12-14 05:10 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
19年会员
UID 62249
状态 离线
Originally posted by electronixtar at 2006-11-9 10:42:
建议:我们做一个reg2bat.bat的批处理如何?自动把.reg转换成reg命令的批处理?



这个建议非常好,也非常实用。不过难度系数是多大。
24 发表于 2006-12-14 05:19 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
19年会员
UID 62249
状态 离线
写注册表有很多种方式,我一般采用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
25 发表于 2006-12-16 00:14 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 397
发帖 168
注册 2006-10-08 10:07
19年会员
UID 64934
状态 离线
强啊强啊,纯粹一个盲人在看帖!!
26 发表于 2006-12-16 07:01 ·  中国 广东 佛山 电信
初级用户
积分 84
发帖 28
注册 2006-10-02 22:19
19年会员
UID 64342
状态 离线
Originally posted by kich at 2006-12-16 00:15:
强啊强啊,纯粹一个盲人在看帖!!


同样的感受...
27 发表于 2007-01-07 05:51 ·  中国 山西 阳泉 联通
初级用户
积分 125
发帖 49
注册 2006-12-24 08:33
19年会员
UID 74424
性别 男
状态 离线
强人。。。不过看得我眼花瞭乱的。。。。。26楼的能不能直接编出来一个转换程序来啊。。。。。
28 发表于 2007-04-30 02:40 ·  中国 湖北 武汉 洪山区 电信
初级用户
积分 68
发帖 31
注册 2007-03-23 12:33
19年会员
UID 82670
性别 男
状态 离线
Originally posted by fastslz at 2006-11-8 08:43 PM:
另有~~~~~~~~~~

@echo off
echo REGEDIT4>tmp.reg
echo.>>tmp.reg
echo >>tmp.reg
echo @="CMD 命令提示符">>tmp.r ...


这段批处理怎么用的。。。还是没有看明白。。。。
29 发表于 2007-10-27 20:55 ·  中国 山东 青岛 联通
初级用户
★★
积分 146
发帖 86
注册 2007-10-01 11:27
18年会员
UID 98691
性别 男
状态 离线
期待右键reg2bat
30 发表于 2007-10-28 01:55 ·  中国 河北 石家庄 联通
初级用户
积分 54
发帖 28
注册 2006-10-16 14:23
19年会员
UID 65980
性别 男
状态 离线
5楼朋友的建议我强烈支持...呵呵...省去了很多麻烦...哈哈
论坛跳转: