在批处理文件中运行exe格式


0

我想制作一个批处理文件,分别运行3个可执行文件: A.EXE B.EXE C.exe


P.S:A.exe必须完成它的工作,然后批处理文件去B.exe,最后是C.exe


这是我的批处理文件:echo程序正在处理.... echo。 echo第一阶段START“C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ bin \ vsvars32.bat”echo第二阶段START“C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ vcvarsall.bat”echo最后阶段START “C:\ Program Files \ OPNET \ 16.0.A \ sys \ pc_intel_win32 \ bin \ modeler.exe”
user44509

它是 势在必行 你包括了 /wait 参数如果你想 modeler.exe 跑步 只要 vcvarsall.bat 已经完成了,你只想要 vcvarsall.bat 跑步 只要 vsvars32.bat 已完成。
JBirch

Answers:


9

三行批处理文件可以。例如,一个名为的批处理文件 mybatch.bat...

START /wait notepad.exe
START /wait sol.exe
START /wait thirdExecutable.exe

/wait 参数也可以替换为 /w,并指示批处理脚本等待可执行文件终止,然后再继续下一阶段。因此,您可以选择不在第三行使用此参数。这样做只会导致 cmd 窗口保持打开状态,直到第三个可执行文件终止。

编辑解答评论:我担心这对我有用。您还可以确保将可执行文件替换为可执行文件的确切路径 - 例如,如果位于A.exe中 C:\MyFolder\,你会修改第一行 START /wait C:\MyFolder\A.exe。如果可执行文件位于环境变量中引用的任何文件夹中,则不需要这样做 %PATH% 或与批处理文件位于同一文件夹中。我不认为这是你的问题。

我不知道那三个 cmd 批量打开的Windows确实是您希望运行的可执行文件?使用批处理文件打开的主窗口将回显它发出的命令,并且还将显示它是否无法执行给定的命令。如果没有收到弹出错误警报,那么批处理文件正在查找并成功运行您指定的三个可执行文件。

正如我提供的链接也说,您也可以使用参数 /minimized - 或等效 /m - 此外 /wait 默认情况下执行最小化的文件。这可能会让事情变得更整洁,看起来就像你期待的那样。

就目前而言,我认为 完全按照预期工作。正如你所描述的那样,无论如何。

第二次编辑:鉴于您的批处理文件,我已经做了必要的小改动,以便做你想做的事情。我一开始并不知道你想要回应什么,但它应该显示足够的信息。

ECHO "programs are processing...." 
ECHO "First Phase" 
START /w "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vsvars32.bat" 
ECHO "Second Phase" 
START /w "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
ECHO "Final phase"
START /w "C:\Program Files\OPNET\16.0.A\sys\pc_intel_win32\bin\modeler.exe" 

这是否按预期工作?

最终编辑:如果你需要在没有权限修改它们的地方运行这个批处理文件,你可以解决环境变量问题。

ECHO "programs are processing...." 
ECHO "First Phase" 
C:
cd "\Program Files\Microsoft Visual Studio 9.0\VC\bin
START /w vsvars32.bat
ECHO "Second Phase"
cd ..
START /w vcvarsall.bat
ECHO "Final phase"
cd "\Program Files\OPNET\16.0.A\sys\pc_intel_win32\bin"
START /w modeler.exe

这似乎解决了我的问题。像任何东西一样丑陋,但批处理文件似乎从来没有看起来本质上美丽...


aumha.org/a/batches.php 是处理批处理文件的好资源。
JBirch

它不起作用,只是批量打开3厘米,就是这样
user44509

我添加了一个编辑来解决您的问题。它太长了,不适合作为评论。我只想说,它确实按预期工作。那三个 cmd windows是你的可执行文件。如果这不是您想要的,那么请相应地修改您的问题。
JBirch

我将这些地址添加到我的环境变量中,虽然我希望在批处理文件中解决它们,但我复制了我的批处理文件
user44509

3
你在路径周围使用引号吗?这将打破它 - 启动命令的完整语法是 start.exe "title" /wait path。如果您在引号中指定路径而未指定标题,则会感到困惑,因为它认为路径是标题。因此,您需要指定一个任意标题,例如 start "new program" /wait "C:\thing\stuff.exe"
nhinkle
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.