windows - 命令行 - 等待进程完成

标签 windows batch-file command-line-interface command-line-arguments

我正在一个无人参与的脚本中安装一组驱动程序。其中一个驱动程序(Intel USB3 驱动程序)在完成后启动 Windows Driver Finder 应用程序(“drvinst.exe”)。然后,当 nVidia 驱动程序尝试运行时,它们取消了,因为该向导仍在后台运行。

我目前的解决方案是这样的,但是不是很优雅:

:INSTALLLAPTOP79
.\ELAN\Touchpad\Setup.exe /s /a /s
.\Intel\Chipset\Setup.exe -s -norestart
.\Intel\Graphics\Setup.exe -s
.\Intel\MEI\Setup.exe -s
.\Intel\USB3\Setup.exe -s
.\Realtek\Audio\Setup.exe /s
.\Realtek\CardReader\Setup.exe /s
TIMEOUT 180
.\nVidia\Graphics\Setup.exe -n -s
GOTO :INSTALLLAPTOPWIFI

基本上,如果一个系统比“正常”慢,它就会失败,因为 180 秒是不够的。我可以增加这个值,但这对我来说很麻烦。

我基本上是在寻找一种方法来“检查”以查看“drvinst.exe”是否仍在运行,如果是,请等待一段设定的时间 - 然后再次进行检查.

有什么想法吗?

最佳答案

它不能保证工作(这取决于安装程序如何启动驱动程序查找器)但是:

start /wait command...

可能会成功。请注意,如果要执行的命令包含空格,并且需要用双引号引起来,则需要:

start /wait "" "c:\program files\something\..."

否则它将把命令作为命令提示符的标题。

关于windows - 命令行 - 等待进程完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29516595/

相关文章:

c# - 以管理员身份运行与管理员组

batch-file - 确定用户是否在 UAC 提示中单击了 NO

php - 运行 "unable to find the application log"后如何抑制警告 "symfony serve"?

.net - 我在使用 dotnet 安装 nuget 包时遇到错误,在 c :\中找不到任何项目

azure 存储blob上传子目录递归不起作用

windows - 如何在不出现 ERROR_ACCESS_DENIED 的情况下将文件写入物理驱动器(Windows 7)?

windows - 在 Management Studio 中查看最近的文件

windows - 使用 Strawberry(可移植)Perl(适用于 Windows 7)安装 Mechanize 时遇到问题

windows - 为什么在迭代命令输出时批处理文件 FOR 失败?

windows - 将文件输出存储到变量中