【发布时间】:2015-05-14 19:14:14
【问题描述】:
我正在尝试制作一个批处理文件,以简化安装多个驱动程序的过程。它一个一个地遍历每个驱动程序,因此用户所要做的就是在整个过程中连续单击“下一步”,而不必跟踪安装了哪些驱动程序。这是我的代码:驱动程序的名称在文本文件中,它使用 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 编码的好方法。任何帮助都会有所帮助!
【问题讨论】:
-
如果您更改列表中驱动程序的顺序并说,将您当前拥有的驱动程序放在最后怎么办?是否会出现同样的问题?可能是驱动程序安装程序本身的行为与您期望的不同。
-
我改了顺序,还是一样。第一个驱动程序运行良好,然后在第二个驱动程序开始后同时启动其余驱动程序。
标签: windows batch-file cmd installation driver