Kra*_*lin 58 windows batch-file executable
我正在尝试创建一个脚本来在关机时执行 exe 以安装 sp1。我的脚本类似于(不是实际的 bat 脚本)。
If installed GOTO END
Install.exe
END:
Run Code Online (Sandbox Code Playgroud)
我的问题是,当它运行时,它启动安装程序,然后完成脚本,因为安装程序是一个不同的进程,然后关闭安装进程,因为计算机正在关闭并关闭系统(至少,我是这么认为的)它在做。)
有没有办法告诉它等待它启动的进程完成然后关闭?
Bar*_*Vos 100
尝试跑步
START /WAIT Install.exe
Run Code Online (Sandbox Code Playgroud)
npo*_*aka 27
一种更短的方法:
Install.exe|more
Run Code Online (Sandbox Code Playgroud)
还
install|rem
Run Code Online (Sandbox Code Playgroud)
可以使用,尽管使用更多最终您将能够捕获一些控制台输出。这就是它工作的原因 - 管道命令等待输入,直到 .exe 完成
Joh*_*ers 17
直接从批处理文件中调用 exe 或使用start /wait都可以,但有一个警告。
如果您调用的 exe 然后创建了其他进程,例如调用另一个 exe,然后退出,则批处理文件将在被调用的 exe 终止后继续处理,因为它不知道由它启动的其他进程。
在您的情况下,这是一个真正的问题,因为安装程序通常从某种形式的压缩容器中提取文件,这些文件可能嵌入在 exe 本身中,然后触发其中一个提取的文件并退出。一些安装程序提供命令行参数,告诉原始 exe 在整个安装完成之前不要退出,因此您可能需要调查一下。除此之外,单独使用批处理文件没有真正的解决方法,需要采用编程解决方案来解决。
这是使用 MATLAB 的示例!我假设 MATLAB 的路径设置已完成,并且 MATLAB 退出由 FileName.m 文件(或用户已在内部指定)确保。
echo off
matlab -nosplash /r "FileName.m"
:loop
tasklist /fi "imagename eq MATLAB.exe" |find ":" > nul
if errorlevel 1 goto loop
exit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
361845 次 |
| 最近记录: |