vbs如何实现纯脚本备份
这篇文章主要介绍vbs如何实现纯脚本备份,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
说明:
不能说此脚本比驱动精灵更完美,但它确实弥补了驱动精灵的不足!
这个版本是我先前版本上(借助DevCon纯脚本备份驱动)增强的,已经是完美版本了。
1、支持备份完整的WHQL数字签名(我手头的驱动精灵 2005专业版就不支持)。
2、智能判断系统中已安装的驱动程序,且只备份用户自行安装的驱动,若该设备包含WHQL数字签名则打印信息。
3、支持驱动文件打包存放,双击单个以设备名命名的.EXE自解压方式还原驱动,还原驱动就如此轻松。
4、支持宁静默方式外挂安装更新驱动,方便系统集成、Ghost用户调用。
5、兼容驱动精灵已备份的项目,也就是说运行一下脚本就还原驱动精灵曾经备份的项目。
还原方法将DevUpdate.Cmd Tools 放在精灵已备份驱动文件目录里,运行DevUpdate.Cmd
6、源代码公开化没作任何加密,只要你也略懂脚本完全自行修改达到自己的所需!不要改头换面就好;-)
补充说明:
EXE自解压还原驱动自动应答参数 -y 如:"D:\Dev\NVIDIA GeForce4 MX MX 400.exe" -y
打包集成的NVIDIA GeForce4 MX MX 400.exe只限在本机上还原更新,我不保证其能在所有的NVIDIA GeForce4系列显卡上正常使用,因为每一机子的硬件ID并不完全相同。
此版不在支持Win2000,Win2000用户可以考虑使用先前的版本来备份,Vista下本人没有测试条件,所以...
好了我也不贴N多图文说明了,一句话备份还原驱动简单再简单,菜鸟、高手都适用^_^
子程序说明
Devcon.exe 微软代替设备管理器命令行实用工具
Devcon_64.exe 微软代替设备管理器命令行实用工具64 Bit
Sleep.exe 用于批处理暂停或等待用户按一个键
Update.cmd 更新设备驱动代码
Dev.sfx 用于制作集成驱动的自解压模块
7za.exe 本人汉化的7-zip命令行独立版压缩工具(此版依赖DLL库)
任何建议和意见及BUG递交欢迎访问以下地址
[原创]借助DevCon纯脚本备份驱动
dev.vbs
代码如下:
On Error Resume Next
Set aArgs=WScript.Arguments
if aArgs.Count=0 Then MsgBox "请运行 DevBackup.Cmd 开始备份驱动! ",64,"BY: fastslz":Wscript.Quit
Set Fso = CreateObject("Scripting.FileSystemObject")
Set aNet = CreateObject("Wscript.Network")
strComputer = aNet.ComputerName:aUser = aNet.UserName:aErr = "0"
Set aGroup = GetObject("WinNT://" & strComputer & "/Administrators")
For Each aUsers in aGroup.Members
If aUsers.Name = aUser Then aErr= "1"
Next
Set WMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set aItems = WMI.ExecQuery("Select * from Win32_PnPSignedDriver")
If aErr = 0 Then MsgBox "本程序必须以系统管理员身份运行 ",4160,"提示":Wscript.Echo "1":Wscript.Quit
if aItems.Count=0 Then MsgBox "WMI 组件运行库出错,WinXP精简版Win2000系统会出现此状况 ",4160,"提示":Wscript.Echo "2":Wscript.Quit
Path = Left(Wscript.ScriptFullName,Len(Wscript.ScriptFullName)-Len(Wscript.ScriptName))
BakPath = Path&"Drivers\"
If Fso.FolderExists(BakPath)=False Then Fso.CreateFolder(BakPath)
For Each aItem in aItems
If Instr(aItem.InfName,Chr(111)&Chr(101)&Chr(109)) > 0 Then
DevName = Replace(aItem.DeviceName, "/", " ")
DevName = Replace(DevName, "\", " ")
DevName = Replace(DevName, "*", " ")
DevName = Replace(DevName, "?", " ")
DevName = Replace(DevName, "|", " ")
DevName = Replace(DevName, ">", " ")
DevName = Replace(DevName, "<", " ")
If Fso.FolderExists(BakPath&DevName)=False Then Fso.CreateFolder(BakPath&DevName)
Set NfoFile = Fso.OpenTextFile(BakPath & DevName & "\Driver.nfo",2,True)
NfoFile.WriteLine "DeviceName=" & aItem.DeviceName
NfoFile.WriteLine "HardWareID=" & aItem.HardWareID
NfoFile.WriteLine "InfName=" & aItem.InfName
NfoFile.Close
Wscript.Echo aItem.DeviceName & "n" & aItem.HardWareID & "n" _
& BakPath&DevName & "n" & aItem.InfName
End If
Next
以上是"vbs如何实现纯脚本备份"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!