我想从批处理文件中打开IE并等待它直到它才会关闭,然后再转到批处理文件的下一行。这该怎么做? BTW iexplore命令似乎在Windows 7命令行中不起作用。知道为什么吗?
...谢谢
答案 0 :(得分:4)
如果Internet Explorer未运行,其他方法也适用。
如果IE已经在运行,它将无法正常运行。如果IE中的网页是您脚本的起始载体,那当然很糟糕!
我找到的修复方法是使用-noframemerging作为iexplore.exe的开关:
start "" /wait "%ProgramFiles%\Internet Explorer\iexplore.exe" -noframemerging "https://www.google.com"
答案 1 :(得分:1)
start /wait whatever.exe
/wait
标志将开始等待,直到程序在返回之前关闭。
至于iexplore不工作,你是对的。这很奇怪......但是,您仍然可以使用完整路径调用它:
start "" /wait "c:\Program Files\Internet Explorer\iexplore.exe" http://stackoverflow.com
我更新了第二个命令行,以便在start
的命令处理中解决某些错误。有点奇怪。但是,正确的方法是:
start /wait http://address.com
答案 2 :(得分:1)
浏览器在处理生命周期方面很复杂,即使在标签之前的日子里,IE也可以在一个进程中打开多个窗口。他们还经常使用DDE打开网址,这使得很难跟踪“正确”的过程。如果你想强迫用户使用IE(为什么不使用默认的浏览器?)你可以使用windows脚本主机自动化IE(自动化在受保护的IE IIRC方面有一些问题)
我建议只是一个简单的停顿:
start /wait http://example.com
echo. When you are done reading xyz, press [Enter] to continue...
pause >nul
答案 3 :(得分:-2)
call "C:\Program Files\Internet Explorer\iexplore.exe" www.google.com
call "C:\Program Files\Internet Explorer\iexplore.exe" www.stackoverflow.com
call "C:\Program Files\Internet Explorer\iexplore.exe" www.codeproject.com
echo done
pause
我在Windows 7上尝试过,它运行得很好......
在发布你的评论之前测试代码.......