找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19151|回复: 5

如何用VBS将同一路径下的注册表文件导入系统

[复制链接]
发表于 2009-1-14 09:04:27 | 显示全部楼层 |阅读模式
本人希望在安装Windows XP过程中,在T-12阶段采用SVCPACK的方式,运行一个vbs文件,将同位于SVCPACK下的一个注册表文件导入到系统。哪位各位大侠能帮忙编写一个vbs程序(不希望用CMD批处理,因为安装时会出现黑框窗口)。
谢谢。

附上CMD的批处理:

set a="%cd%"
for %%a in (%a%) do set b=%%~da
for %%b in (%a%) do set c=%%~npb
regedit.exe /s "%c%\temp.reg"

[ 本帖最后由 willsion 于 2009-1-14 09:11 编辑 ]
发表于 2009-1-14 22:48:01 | 显示全部楼层
CreateObject("WScript.Shell").Run "regedit /s temp.reg"
 楼主| 发表于 2009-1-16 13:12:36 | 显示全部楼层
原帖由 rat 于 2009-1-14 22:48 发表
CreateObject("WScript.Shell").Run "regedit /s temp.reg"


谢谢。不过有个问题,假设当前的目录的是C:\,而本vbs文件(假设为22.vbs)放在c:\temp
则如下的命令行不能得到预期的效果:C:\>C:\temp\22.vbs,也就是说,假设当前目录跟22.vbs所在目录不一样时,并不能将该注册表文件导入系统中,需要在22.vbs文件中加入将当前路径设为22.vbs所在路径的语句才行。
发表于 2009-1-16 18:02:40 | 显示全部楼层
先说清楚你所说的当前目录是vbs脚本文件的当前目录,还是reg所在目录
  1. WScript.echo Left(WScript.ScriptFullName,Len(WScript.ScriptFullName)-Len(WScript.ScriptName))
  2. WScript.echo Left(WScript.ScriptFullName,3)
复制代码
要封装Windows XP有很多导入注册表文件方法
1:rundll32.exe *.inf
2:直接用vbs写注册表
3:SVCPACK.inf 预设
4:WINNT.SIF 预设
 楼主| 发表于 2009-1-19 09:41:38 | 显示全部楼层
原帖由 fastslz 于 2009-1-16 18:02 发表
先说清楚你所说的当前目录是vbs脚本文件的当前目录,还是reg所在目录WScript.echo Left(WScript.ScriptFullName,Len(WScript.ScriptFullName)-Len(WScript.ScriptName))
WScript.echo Left(WScript.ScriptFullName,3 ...


多谢回复!

我所说的当前目录是指Windows XP安装时系统设置的目录,猜想其目录应该不会转为系统安装盘SVCPACK了。我的思路是将vbs和reg文件一起放在光盘SVCPACK目录中,安装系统时,安装程序通过svcpack.inf运行该vbs文件,达到导入reg的目的。

另外,由于注册表文件注册项较多,单纯用vbs写注册表太复杂了。
 楼主| 发表于 2009-1-20 11:36:25 | 显示全部楼层
算了,考虑来考虑去,感觉还是用inf方便些。


谢谢各位朋友。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 03:14 , Processed in 0.018860 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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