文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vbs如何实现纯脚本备份

2023-06-09 22:23

关注

这篇文章主要介绍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如何实现纯脚本备份”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯