PDA

Показать полную графическую версию : Не продолжает выполнять команды batник


ivanxam
19-02-2014, 11:35
Добрый день есть bat файл


C:\Program files\stop.bat
ping -n 3 127.0.0.1 >nul
taskkill /f /im oknoOK.exe
C:\Program files\start.exe


Первым делом запускается stop.bat, который останавливает программу, работает около 2 секунд, поэтому через пинг сделал ожидание. По завершению stop.bat
вылезает окошко уже другого процесса oknoOK.exe, с одной кнопкой ОК - типа "все хорошо остановилось". Убиваю процесс taskkillом. Запускаю start.exe.

Все вроде правильно, но выполняется только первая строка, запускается stop.bat вылетает окошко oknoOK.exe и не закрывается, потому что пока его не закроешь stop.bat висит в процессах и не дает дальше выполнять мой батник. Есть ли возможность это обойти? Можно ли stop.bat запустить как-нибудь независимо.

stop.bat изменить не могу, так как не я его писал, он входит в пакет с программой которую останавливает.

Iska
19-02-2014, 12:06
ivanxam, содержимое «C:\Program files\stop.bat» выложите.

ivanxam
19-02-2014, 12:27
stop.bat выглядит так


остановка программы №1
остановка программы №2
остановка программы №3
остановка программы №4

start "с:\folder\oknoOK.exe"



Свою проблему исправил так:


start "" C:\"Program files"\stop.bat
ping -n 3 127.0.0.1 >nul
taskkill /f /im oknoOK.exe
start "" C:\"Program files"\start.exe


Теперь уже другая проблема. Видимо oknoOK.exe требует нажатия на ОК, так как просто убив процесс программа не закрывается полностью.

Вопрос: можно ли через CMD нажать на единственную кнопку ОК на активном окне?

Georgio
19-02-2014, 12:47
А если так: taskkill /f /t /im oknoOK.exe???

yurfed
19-02-2014, 12:57
ivanxam, вы не пробовали обозвать start.exe как нибудь иначе?
Start
Запускает определенную программу или команду в отдельном окне. При запуске без параметров команда start создает новое окно командной строки.
пробуйте так
start "" "X:\start.exe"
или так
/b
Запускает приложение без открытия нового окна командной строки. Обработка комбинации клавиш CTRL+C не производится, пока приложение не разрешит обработку CTRL+C. Для прерывания приложения следует использовать CTRL+BREAK.
имя_файла
Задает команду или программу для запуска.
параметры
Задает параметры, которые будут переданы вызываемой программе.

http://www.celitel.info/klad/nhelp/helpbat.php?dcmd=start

ivanxam
19-02-2014, 13:54
А если так:
Код:
taskkill /f /t /im oknoOK.exe??? »

попробую.

ivanxam, вы не пробовали обозвать start.exe как нибудь иначе? »

На самом деле start.exe называется иначе.




© OSzone.net 2001-2012