Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   запуск нескольких приложений из cmd (http://forum.oszone.net/showthread.php?t=60414)

phpsql 01-02-2006 16:06 399674

запуск нескольких приложений из cmd
 
Хочу запустить из батника несколько программ, но запускается т олько одна, которуая указана первой, и потом консоль не закрывается. Как лечить?
запускаю батник со следующим содержанием:
Код:

cd c:\
"Program Files\Agnitum\Outpost Firewall\outpost.exe"
"Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\AvpM.exe"
"Program Files\Punto Switcher\PS.exe"

или
Код:

cd c:\
"Program Files\Agnitum\Outpost Firewall\outpost.exe"
cd c:\
"Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\AvpM.exe"
cd c:\
"Program Files\Punto Switcher\PS.exe"


Ramzes_ 01-02-2006 18:30 399740

Запускай так:
Код:

start /D "С:\Program Files\The Bat!\" thebat.exe

robotest 23-03-2017 09:21 2722324

У меня не стартуют.
Стартует только та которая стоит сверху.
Код:

start /D /wait "Drive Snapshot" /d "%systemdrive%\Program Files\Rescue\Drive Snapshot\" osk.exe
start /D /wait "Drive Snapshot" /d "%systemdrive%\Program Files\Rescue\Drive Snapshot\" snapshot.exe

Кто знает в чём причина?

Iska 23-03-2017 09:37 2722330

Цитата:

Цитата robotest
Кто знает в чём причина? »

В том, что Вы указываете при запуске ожидать завершения запущенного приложения? Вот он и ждёт.

robotest 23-03-2017 11:10 2722350

Без "wait" обе программы стартуют и через пару секунд закрываются.
Может в одну строчку обе можно вписать и "wait" вставить?

mwz 23-03-2017 11:19 2722353

robotest
Вам предложено:
Цитата:

Цитата Ramzes_
start /D»

Вы же делаете:
Цитата:

Цитата robotest
start /D /wait»

Разницу видите? Wait означает: "Приостановить выполнение пакетного файла (батника) пока данная запущенная программа не будет закрыта".

Цитата:

Цитата robotest
Без "wait" она просто через пару секунд закрывается »

Кто — она? Окно батника и должно закрыться.

---------
PS
Цитата:

Цитата robotest
"%systemdrive%\Program Files\Rescue\Drive Snapshot\" osk.exe »

А что у вас кавычки не на месте делают??

Должно быть
Код:

"%systemdrive%\Program Files\Rescue\Drive Snapshot\osk.exe"
и соответственно во второй строке тоже. У вас ведь программы osk.exe и snapshot.exe в одной папке, насколько я понял, лежат? И заодно: временную задержку между их запуском делать не нужно?

robotest 23-03-2017 11:30 2722355

Вот в таком виде обе программы стартуют но через пару секунд закрываются.
Код:

@echo off

start /D "Drive Snapshot" /d "%systemdrive%\Program Files\Rescue\Drive Snapshot\" osk.exe
start /D "Drive Snapshot" /d "%systemdrive%\Program Files\Rescue\Drive Snapshot\" snapshot.exe

echo.

Exit


Iska 23-03-2017 11:43 2722361

robotest, откройте командную строку, наберите в ней:
Код:

start /?
и читайте. Либо рассказывайте Вашу задачу, а не излагайте следствие:
Цитата:

Цитата robotest
У меня не стартуют. Стартует только та которая стоит сверху. Кто знает в чём причина? »


mwz 23-03-2017 11:43 2722362

robotest, так как насчёт кавычек и задержки, что я в PS спросил?

Roman_Ko 23-03-2017 12:01 2722367

Цитата:

Цитата phpsql
Хочу запустить из батника несколько программ »

Чтобы указать в одной строке несколько команд, следует разделить их символами '&&' и заключить в кавычки.
Например
start calc&& notepad&& и т.д.
Оно?

robotest 23-03-2017 12:04 2722368

mwz, перенёс кавычки вот так
Код:

start /D "Drive Snapshot" /d "%systemdrive%\Program Files\Rescue\Drive Snapshot\osk.exe"
start /D "Drive Snapshot" /d "%systemdrive%\Program Files\Rescue\Drive Snapshot\snapshot.exe"

появляется окно cmd, закрывается и больше ничего не происходит. Или я вас неправильно понял?

Iska, Я хочу чтобы обе программы запустились и не закрывались. Данный код запускает обе программы, но они обе закрываются через две секунды.
Код:

@echo off

start /D "Drive Snapshot" /d "%systemdrive%\Program Files\Rescue\Drive Snapshot\" osk.exe
start /D "Drive Snapshot" /d "%systemdrive%\Program Files\Rescue\Drive Snapshot\" snapshot.exe

echo.

Exit

Как будет выглядеть код мне всё равно.

Roman_Ko,
Сделал так
Код:

start /D /wait "Drive Snapshot" /d "%systemdrive%\Program Files\Rescue\Drive Snapshot\" '&osk.exe&''&snapshot.exe&'
Пишет что не найден файл.

Iska 23-03-2017 13:07 2722386

Цитата:

Цитата robotest
Iska, Я хочу чтобы обе программы запустились и не закрывались. »

robotest, пакетный файл никак не может управлять поведением приложений — как Вы пишете, чтобы они «закрывались» или «не закрывались». Пакетный файл может сделать одну вещь: запустить приложение. Без ожидания его завершения или с ожиданием его завершения. Задать текущий каталог для запуска приложения. Задать стартовый приоритет. И тому подобное.

Попробуйте так:
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

cd /d "%ProgramFiles%\Rescue\Drive Snapshot" && (
        start "" "osk.exe"
        start "" "snapshot.exe"
)

endlocal
exit /b 0


robotest 23-03-2017 13:26 2722389

Iska,
Сасибо! Всё работает.
Всем всех благ.

0belisk 11-02-2020 17:11 2909142

Всё намного проще:
Создаём ярлыки на файлы .exe необходимых программ
Ярлыки перемещаем или указываем путь до них в файле .bat
Например:
1) создаю ярлык на файл C:\Program Files (x86)\Microsoft Office\root\Office16\WINWORD.EXE и переименовываю его в "1"
2) создаю ярлык на файл C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE и переименовываю его в "2"
оба ярлыка перемещаю в папку C:\start\
и теперь сам файл .bat

Код:

@echo off

start "Word" "C:\start\1"
timeout 5
start "Excel" "C:\start\2"
exit

сначала запустится Word, через 5 секунд Excel и файл закроется. Но программы будут работать дальше.

Iska 11-02-2020 18:12 2909148

Цитата:

Цитата 0belisk
Всё намного проще: »

Это Вы сейчас о чём, коллега?


Время: 14:15.

Время: 14:15.
© OSzone.net 2001-