欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

纯脚本备份_还原驱动增强版附相关sleep.exe

程序员文章站 2022-03-07 21:36:19
说明:   不能说此脚本比驱动精灵更完美,但它确实弥补了驱动精灵的不足!   这个版本是我先前版本上(借助devcon纯脚本备份驱动)增强的,已经是完美版本了。 1、支持备...
说明:
  不能说此脚本比驱动精灵更完美,但它确实弥补了驱动精灵的不足!
  这个版本是我先前版本上(借助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

纯脚本备份_还原驱动增强版附相关sleep.exedev2008-7-4.rar 
最新版本