CMD запускает EXE, запускает HTML, ждёт закрытия и запускает финальный EXE - PullRequest
0 голосов
/ 11 января 2012

хотел бы иметь BAT-файл, который запускает set-keys.EXE, запускает default.html, а затем, когда пользователь закрывает html, запускает set-keys-back.EXE.(они все находятся в одном каталоге вместе).Это может быть выполнено с компакт-диска, поэтому у меня может не быть возможности записать файл флага, а затем подождать, чтобы посмотреть, будет ли он удален, чтобы продолжить.Уже пробовали START / WAIT, но видели, что WAIT фактически не будет ждать 32-битных приложений с графическим интерфейсом.Рассматривали один пакетный файл, вызывая другой, все равно не повезло.Предпочел бы не иметь ПАУЗУ, и пользователь должен вернуться в CMD, чтобы просто нажать клавишу - кажется неуклюжим.Когда они закрываются из HTML, я выполняю top.window.close ().было бы неплохо, если бы после этого я мог поместить другой код, но я думаю, что когда окно закрыто, оно закрывается - больше нет обработки.не удалось запустить WShell.HTML-строка состояния просто говорит об ошибке на странице - нет информации.Хотелось бы услышать ваши мысли ...

1 Ответ

1 голос
/ 11 января 2012

Обновление 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...

Этот пример работает для меня (32-разрядная версия Windows XP) и ждет, пока я закрою окно браузера, чтобы продолжить.

Обновление: Вот обновленный блок кода, который запускает 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, мы можем запустить его свернутым.

...