使驱动程序安装更快的批处理文件

时间:2015-05-14 19:14:14

标签: windows batch-file cmd installation driver

我正在尝试创建一个批处理文件,这使得安装多个驱动程序的过程变得更加容易。它逐个遍历每个驱动程序,因此用户所要做的就是在整个过程中连续点击“下一步”,而不必跟踪安装的驱动程序。这是我的代码:驱动程序的名称在文本文件中,它使用for循环来完成它们。

问题是第一个驱动程序工作正常,但是告诉用户刚刚安装了什么驱动程序的代码片段和已安装的总量,以及询问用户是否要继续,都不起作用。第一个驱动程序完成后,其余部分同时打开,不按预期逐个打开。似乎/ wait代码不再起作用了。

@echo off

:INTRO
ECHO Welcome to the Driver Installation Agent.
ECHO.
ECHO.

:GETINPUT
ECHO  Enter 1 - Start installing
ECHO.
ECHO  Enter 2 - Exit
ECHO.
set INPUT=
set /P INPUT=Enter the option: %=%
IF "%INPUT%" == "1" GOTO INSTALLAGENT
IF "%INPUT%" == "2" GOTO :EOF
GOTO INVALID

:INSTALLAGENT
set /a B=0
for /F "tokens=*" %%A in (driverList.txt) do START %%A
GOTO FINISH


:START
start /s /wait %%A /NORESTART EULA_ACCEPT=YES
set /a B+=1
ECHO The driver %A% has just been installed, %B% drivers have been installed     in total.
ECHO  Enter 2 to exit, otherwise press enter to continue.
set INPUT2=
set /P INPUT2=Enter the option: %=%
IF "%INPUT2%" == "2" GOTO :EOF

:FINISH
ECHO
ECHO All Updates Performed. Press key to exit.
ECHO
PAUSE
cls

:INVALID
ECHO Invalid option
ECHO.
GOTO GETINPUT

我知道这可能不是安装驱动程序最有效的方法,但它一直困扰着我,我认为这是一种很好的方式来介绍cmd中的编码。任何帮助都会有所帮助!

1 个答案:

答案 0 :(得分:0)

下一段代码片段可以提供帮助:

:INSTALLAGENT
set /a B=0
for /F "tokens=*" %%A in (driverList.txt) do (
  set "_driver=%%~A"
  CALL :START
)
GOTO :FINISH

:START
start /s /wait %_driver% /NORESTART EULA_ACCEPT=YES
set /a B+=1
ECHO The driver %_driver% has just been installed, %B% drivers have been installed in total.
set "INPUT2="
set /P "INPUT2=Enter 2 to exit, otherwise press enter to continue: "
IF "%INPUT2%"=="2" goto :incomplete
GOTO :EOF

:INVALID
ECHO Invalid option
ECHO.
GOTO :GETINPUT

:FINISH
ECHO(
ECHO All Updates Performed. Press key to exit.
ECHO(
:incomplete
PAUSE
cls

资源(必读):