当前位置:首页 > 技术分析 > 正文内容

为驱动程序植入自动指令

ruisui8814小时前技术分析4

比如,有的电脑需要按先装芯片组驱动,再装显卡、声卡、网卡等驱动,最后安装随机软件的顺序进行安徽。而有的电脑则要求在安装芯片组驱动后,接着安装网卡驱动,才能再安装显卡、声卡,最后安装工具软件。当然,安装期间可能会需要人工干预(如选择稍后重启、执行下一步等),但尽可能要实现自动化安装,中间不需要用户再去定位和运行指定程序。要给一台新买的笔记本重新安装更适合于自己的系统,需要安装一系列的驱动程序,而这些驱动程序一般需要最好按一定的先后顺序进行安装,因为若不按一定顺序,可能会出现一些兼容性方面的问题。如何将下载的或驱动光盘中提供的驱动程序,按一定的顺序进行自动化安装,这是我们需要研究的问题。

1. 准备并规划驱动程序目录

为实现以上需求,我们可以先准备好需要的驱动程序,拷贝到U盘中,然后按基本需求,在U盘中构造一个批处理程序,当安装完系统之后,直接运行一下U盘中的驱动安装批处理程序,即可实现驱动自动安装的目的。

首先是安排驱动程序目录。将要安装的驱动程序布置在特定的文件中,假设其目录结构如图所示(图1)。其中“Chipset”文件夹中的SETUP.EXE是启动芯片组驱动的安装文件,“SVGA”文件夹中的SETUP.EXE是启动显卡驱动程序的安装文件,“Sound”文件夹中的SETUP.EXE是启动声卡驱动程序的安装文件,“Network”文件夹中的SETUP.EXE是启动网卡驱动程序的安装文件,而“Utility”文件夹中的多个EXE文件分别为实用工具软件的安装文件。

2. 构建驱动自动安装批处理

为能达到自动安装的目的,按以上需求来构造一个自动选择式批处理文件(图2)。

嵌入了各类驱动程序的自动安装批处理文件内容如下(假设该批处理文件被命名为“自动安装驱动程序.BAT”):

@ECHO OFFCLS:MENUECHO. 选择自动安装的顺序
ECHO. 1 芯片组→显卡→声卡→网卡→工具
ECHO. 2 芯片组→网卡→显卡→声卡→工具
ECHO. 3 退出
ECHO.
ECHO. 按需选择输入序号,驱动会按此顺序自动安装。
SET /P ID=
IF "%ID%"=="1" GOTO CMD1
IF "%ID%"=="2" GOTO CMD2
IF "%ID%"=="3" EXIT
PAUSE

:CMD1:CMD2
ECHO 按芯片组→显卡→声卡→网卡→工具顺序自动安装\CHIPSET\SETUP.EXEPAUSE\SVGA\SETUP.EXEPAUSE\SOUND\SETUP.EXEPAUSE\NETWORK\SETUP.EXEPAUSE\Utility\CCleaner_4.5.0.4250.exePAUSE\Utility\QQ5.4.exePAUSE……(此处省略更多的各类工具软件执行程序)GOTO MENUECHO 按芯片组→网卡→显卡→声卡→工具顺序自动安装\CHIPSET\SETUP.EXEPAUSE\NETWORK\SETUP.EXEPAUSE\SVGA\SETUP.EXEPAUSE\SOUND\SETUP.EXEPAUSE\Utility\CCleaner_4.5.0.4250.exePAUSE\Utility\QQ5.4.exePAUSE……(此处省略更多的各类工具软件执行程序)GOTO MENU

小提示:批处理命令注释

该批处理程序构造了一个自动循环和可选择的菜单系统,菜单有两个主要选项,分别针对两种顺序的驱动方法,用户只需按需选择其一即可。命令开头处的@ECHO OFF表示关闭程序执行信息,这样屏幕上就不会出现与菜单选择无关的杂乱信息,而CLS命令表示清空命令窗口中以前显示的信息,类似于擦黑板的作用。“:MUNU”、“:CMD1”、“:CMD2”分别定义菜单组、第一运行模块、第二运行模块的唯一性代号,GOTO语句实现运行转向。“ECHO.”后跟信息显示菜单项目,若后面不跟任何信息则显示一个空行。“SET /P ID=”设定系统接受用户输入的一个ID序号。“IF "%ID%"=="2" GOTO CMD2”语句是根据用户输入的序号执行程序转向,确定转向到哪一个模块去处理。“IF "%ID%"=="3" EXIT”语句是选择了3之后便退出批处理程序,其中EXIT是退出批处理的命令。程序中的PAUSE语句起自动暂停作用,当安装一个驱动的命令执行之后先做暂停,以免与后面自动运行的程序发生冲突,当前面的程序安装完毕之后,用户只需按任意键即可自动进入下一个驱动的自动安装过程。

3. 执行批处理自动安装驱动

BAT批处理程序建好之后,将其保存到存放各驱动程序的U盘根目录中,命名为“自动安装驱动程序.BAT”。之后,每当Windows安装结束,只需插上U盘,执行该自动批处理程序,屏幕上就会出现一个黑色窗口选择菜单(图3),如果需要在装完芯片组驱动后紧接着安装显卡的驱动方案,则选择“1”,如果必须先行安装网卡驱动,则只需选择“2”即可。接下来的安装过程,只需点击“下一步”确认或回车,一系列驱动和实用工具的安装都会自动完成。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4061.html

标签: bat脚本注释
分享给朋友:

“为驱动程序植入自动指令” 的相关文章

7种超轻量级的Linux发行版,能够帮助你找到适合自己的操作系统

Linux是一种非常受欢迎的开源操作系统,而且有许多版本可以选择。有时候,你需要一种超轻量级的Linux发行版,它可以在资源有限的设备上运行,并且能够快速启动。本文将介绍7种超轻量级的Linux发行版,希望能够帮助你找到适合自己的操作系统。1. Tiny Core LinuxTiny Core Li...

基于Ubuntu的Linux Lite 6.0发行版正式发布

开发者 Jerry Bezencon 今天宣布,基于 Ubuntu 的 Linux Lite 6.0 发行版正式发布。本次更新代号为“Fluorite”,基于 Ubuntu 22.04 LTS (Jammy Jellyfish) 系统,它由长期支持的 Linux 5.15 LTS 内核系列驱动。下载...

深入理解Vue.js组件通信:父子组件与子父组件数据交互详解

什么是Vue组件通讯 Vue.js 组件通信是指在 Vue 应用的不同组件之间进行数据交换和状态同步的过程。由于 Vue 的组件是基于单文件组件(SFCs)的模块化设计,每个组件都有自己的作用域,因此它们不能直接访问彼此的数据。为了使组件之间能够协同工作,Vue 提供了几种不同的通信方式。以下是 V...

vue3父子组件传对象,子组件访问修改父组件对象中的属性值

在Vue 3中,父子组件之间的数据传输通常通过props和emit进行。父组件可以通过props向下传递数据给子组件,子组件则可以通过emit向上通知父组件更新数据。如果需要在子组件中修改父组件对象中的属性值,可以使用一个名为ref的Vue 3新特性。以下是一个示例,演示了如何在Vue 3中实现父子...

vue中组件之间的通信方式

** 1.1 父子组件**a. 父向子传数据: 第1种: 父通过属性传值,子组件通过props接收数据(注:props传过来的数据是单向的,不可以进行修改)第2种:子组件可以通过$parent来获取父组件里的数据和调用父组件的方法(注:数据是双向的,还要注意如用了UI组件并且在该UI组件里重新定义一...

2021最全VUE面试题,奥利给

1. vue-router用过没,哪些常用的钩子函数路由钩子的执行流程,钩子函数种类有:全局守卫、路由守卫、组件守卫。首页可以控制导航跳转, beforeEach , afterEach 等,?般?于页? title 的修改。?些需要登录才能调整??的重定向功能。beforeEach 主要有3个参数...