Автор Ётригуль Валосухин задал вопрос в разделе Другие языки и технологии
Как создать bat файл запускающий программы последовательно, но с ожиданием выполнения предыдущей программы? и получил лучший ответ
Ответ от Давид Трубицкой[гуру]
по-моему никак нельзя, поскольку непонятно, как определить когда программа завершила загрузку.
Можно добавить в .bat задержку. Делать это при помощи ping - идиотизм в стиле индийских программистов.
Если установлен PowerShell (в Windows7 он должен быть), паузу можно сделать так:
powershell.exe -command "sleep 2"
(Время в секундах)
Если нет PowerShell, можно его установить, или использовать программу sleep.exe например отсюда ссылка
Стригуль Валосухин
(107)
Вроде один раз заработало, потом перестало. После скайпа висит кансолька и ничего не происходит по истечению времени.
@ECHO
"D:Program FilesSkypePhoneSkype.exe"
cscript.exe sleep.js 7000 //Nologo
"D:Program FilesiFree Skype Recorderirecorder.exe"
exit
cscript.exe
Launc.bat
sleep.js
Скайп запускается отдеьлным процессом, поэтому с ним - никак. Пинг будет работать до заверщения, а только потом продолжится.
посмотри команду call
call skype.exe
start /WAIT skype.exe
в этом случае пока скайп не закроется (не выгрузится из памяти) следующая строка bat файла не выполнится.
ping -n 15 127.0.0.1 > NUL
это 14 (или 15?) секундная задержка
как отследить завершение процесса в Delphi?
Можешь попробовать так:
procedure Start;
var
si: TStartupInfo;
p:
подробнее...