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

CMD运行EXE,启动HTML,等待关闭并运行最终EXE,html,cmd,exe,Html,Cmd,Exe,希望有运行set-keys.EXE的BAT文件,启动default.html,然后在用户关闭html时运行set-keys-back.EXE。(它们都在同一个目录中)。这可能是从CD运行的,因此我可能无法写入标志文件,然后等待它是否被删除以继续。已经尝试过启动/等待,但已经看到等待实际上不会等待GUI 32位应用程序。考虑过一个批处理文件调用另一个批处理文件,仍然没有运气。不希望暂停,用户只需返回CMD来按一个键,这看起来很笨重。当它们退出HTML时,我执行top.window.close()。

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

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

@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
参数,我们可以将其最小化。

这对于记事本非常有效。我能让它启动default.html吗?我尝试了iexplore.exe的完整路径名,只是iexplore.exe…当我运行它时,它只是顺序运行所有三个命令,你甚至根本看不到IE.ECHO OFF START/B put_keys.exe START/wait/min cmd/C“iexplore.exe+default.html”START/B put_keys_back.exe这对我有效:
START/wait/min cmd/C“C:\PROGRA~1\INTERN~1\iexplore.exe C:\temp\test.html“
。我必须关闭IE才能继续脚本。到目前为止非常棒。我同意你所说的。是否有机会为default.html使用相对路径名或本地路径名?这将运行一张CD,你知道有些人将其作为D:驱动器,有些可能是E:或谁知道呢。它与批处理文件和EXE位于同一目录中,希望windows首先默认为该目录。您可以使用以下代码段获取脚本的目录:
set STARTDIR=%~dp0
(它所做的只是修改%0)。有关批处理文件参数修饰符的详细信息,请参见。我将用这个技巧再次更新我的答案。autorun.inf文件中的shellexecute调用iexplore并停留在常驻目录中以加载default.html。在运行最后一个put-keys-back.exe之前,我愿意尝试任何方法,直到HTML关闭