CMD运行EXE,启动HTML,等到关闭并运行最终的EXE

时间:2012-01-11 02:07:26

标签: html cmd exe

希望BAT文件运行set-keys.EXE,启动default.html,然后当用户关闭html时,运行set-keys-back.EXE。 (它们都在同一个目录中)。这可能是从CD运行的,所以我可能无法编写标志文件,然后等待它是否被删除才能继续。已经尝试过START / WAIT,但已经看到WAIT实际上不会等待GUI 32位应用程序。考虑过一个批处理文件调用另一个,仍然没有运气。宁愿不要让PAUSE和用户只是为了击中钥匙而回到CMD - 似乎笨重。当他们关闭HTML时,我执行top.window.close()。如果我之后可以放一些其他代码会很好,但我认为一旦窗口关闭它就会关闭 - 不再需要处理。无法让WShell执行运行。 HTML状态栏只是在页面上显示错误 - 没有信息。很想听听你的想法......

1 个答案:

答案 0 :(得分:1)

更新2:我刚才发现您可以直接启动IE而无需使用start命令:

@echo off
rem You can use %SCRIPTDIR% to refer to the file to load, if you like
rem Note that %SCRIPTDIR% will contain a trailing slash!
set SCRIPTDIR=%~dp0

echo Testing this script...
C:\PROGRA~1\INTERN~1\iexplore.exe %SCRIPTDIR%foo.html
echo Continuing the script...

此示例适用于我(Windows XP 32位),并等待我关闭浏览器窗口以继续。

更新:以下是启动Internet Explorer的更新代码块。请注意,我使用iexplore.exe可执行文件的短路径,并指定要加载的文件的完整路径:

@echo off
echo Testing this script...
start /wait /min cmd /C "C:\PROGRA~1\INTERN~1\iexplore.exe C:\foo.html"
echo Continuing the script...

初步答案:您提到尝试start /wait命令,但是您是如何明确编写的?以下批处理脚本示例适用于Windows 7 x64:

@echo off
echo Testing this script...
start /wait /min cmd /C "%windir%\system32\notepad.exe foo.html"
echo Continuing the script...

在此示例中,在用户关闭记事本应用程序之前,脚本不会继续执行。这里唯一的缺点是会弹出一个额外的命令窗口,但是通过使用/min参数,我们可以将它最小化。