start /wait 不等待。如何在不使用脚本暂停的情况下解决问题(脚本应无人值守)

start /wait 不等待。如何在不使用脚本暂停的情况下解决问题(脚本应无人值守)

我有一个脚本,它在 Windows 安装后运行,并执行大量任务,包括安装驱动程序和各种程序。目的是让该脚本无人值守运行。

我正在添加代码来安装打印机驱动程序,在本例中是佳能 TS8300 系列。

我认为问题在于安装程序分几个部分运行。第一步是提取安装程序附带的驱动程序和各种实用程序。我注意到提取完成后脚本继续运行。

如果我理解了启动命令中的 /wait 参数(如果我错了,请纠正我),这是预期的行为。根据我所做的搜索,这似乎是一致的。

命令是;

start /wait "TS8300 Installation" /d "%SRC%\PostInstall\Canon\" "win-ts8300-1_02-ea34_2.exe"

我也尝试过使用 start /b /wait(显然 /wait /b 也不起作用)。

由于代码中的下一步是停止并删除已安装的服务,因此该操作会失败,因为它在服务安装之前执行,因为脚本不会等待。所以我暂时添加了一个暂停,但这意味着我必须在那里按任意键。

我考虑过简单地使用ping x.x.x.x -n yy >nul,如果我得到正确的值yy(这可能会因 PC 而异),它可能会起作用。这比使用暂停要好,但我希望可能会有更优雅和更万无一失的方法。

有什么想法吗?

答案1

问题的答案就在问题本身中。

“安装程序首先提取驱动程序和各种组件”。

这是在临时文件夹中完成的,但我也可以采用 7zip 或 winrar 手动提取安装程序的内容。

这会创建几个文件夹,其中一个名为 DrvSetup,其中包含 setup64.exe,它不仅安装驱动程序,还安装包的其他组件。

然后我可以直接运行驱动程序设置,它可以与start /wait命令一起工作。

相关内容