powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Bat ожидающий ЗАПУСК друго-го приложения. Реально?
11 сообщений из 11, страница 1 из 1
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38319819
JUnky RobBer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программированием не занимаюсь, но пытался решить задачу в ручную. Уперся в нехватку опыта.
Уверен, для опытных людей это элементарная задача.

Вопрос следующий. Ресурсы одной программы должны уступать другой. То-есть запуск одной программы должен завершать другую. А ее закрытие запускет обратно завершенную. И все это должно происходить под контролем третей.

Пример:
Есть 3 программы:
1.exe
2.exe
M.cmd (это собственно та, которую нужно написать)

=========================
КАК ЭТО ДОЛЖНО РАБОТАТЬ:
я запускаю, M.cmd, который выполняет следующие действия.

1. Запускаем 1.exe

2. Спокойно висим в процессах, и раз в секунду проверяем: запущен ли 2.exe

Пока не запущен — не производим никакий действий

3. Как только пользователь запускает 2.exe, мы находим его в процессах, и завершаем процесс 1.exe

4. После чего опять спокойно висим в процессах, и раз в секунду проверяем: запущен ли 2.exe

Пока он запущен - никаких действий не производится.

5. Как только пользователь закрывает 2.exe, мы открывает 1.exe обратно.

=========================

Вроде элементарно, но кажется таким нереальным для меня!
Заранее спасибо за ответ!
...
Рейтинг: 0 / 0
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38319871
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
пункт 3 (самый сложный и аналогичный пункту 5):

Set ProcessName=2.exe
TaskList /FI "ImageName EQ %ProcessName%" 2>nul|Find /I "%ProcessName%">nul||(TaskKill /IM "1.exe")

и циклы со слипами и готами.
...
Рейтинг: 0 / 0
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38321158
JUnky RobBer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, пробую
...
Рейтинг: 0 / 0
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38321346
JUnky RobBer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
eNose,

не получается... пытался понять как оно работает но не выходит. для упрощения сделал вместо 1.exe - notepad.exe, вместо 2.exe - mspaint.exe. в итоге при запуске программы происходит запуск mspaint.exe, потом по циклу его реское закрытие, и постоянно ошибка что notepad.exe ненайден. если запустить notepad.exe перед запуском программы, то mspaint.exe не закрывается до закрытия notepad.exe. то-есть они скорее синхронизировались в закрытии, чем взаимоисключили друг друга
...
Рейтинг: 0 / 0
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38321386
JUnky RobBer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался. Все заработало. Не удается только сделать так, что бы программа не пыталась удалять процесс mspaint.exe когда он уже удален.

Код такой

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
@echo off

setlocal enabledelayedexpansion

::Запуск дежурной программы (паинт)
start mspaint.exe

tasklist | find /I "notepad.exe" > NUL

::Если блокнот не запущен
:notepad_off
IF %ERRORLEVEL% EQU 1 (
	echo NOT RUNNED
	ping 127.0.0.1 -n 2 >nul
	tasklist | find /I "notepad.exe" > NUL
	goto :notepad_off
)

::Если блокнот запущен
:notepad_run
IF %ERRORLEVEL% EQU 0 (
	::Проверяем завершен ли пеинт
	tasklist | find /I "mspaint.exe" > NUL
	::Если пеинт не завершен, завершаем (ВОТ ТУТ НЕ РАБОТАЕТ)
	IF %ERRORLEVEL% EQU 0 (
		echo MSPAINT WILL CLOSE
		taskkill /IM "mspaint.exe" /F
		goto :out
	)
	:out
	ping 127.0.0.1 -n 2 >nul
	tasklist | find /I "notepad.exe" > NUL
	goto :notepad_run
)
::Тут мы окажемся когда пользователь закроет блокнот, и запускаем пеинт опять
start mspaint.exe
goto :notepad_off
echo HOLEк

Не могу понять в чем проблема.
...
Рейтинг: 0 / 0
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38325739
[defunct zombie]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JUnky RobBerping 127.0.0.1 -n 2 >nul
Понимаю, что вендоюзеры от природы извращенцы, но даже для них придумали команду timeout /t 2.
...
Рейтинг: 0 / 0
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38325747
[defunct zombie]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JUnky RobBerНе удается только сделать так, что бы программа не пыталась удалять процесс mspaint.exe когда он уже удален.
tasklist|find (или как там у вас аналог грепа зовётся).
...
Рейтинг: 0 / 0
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38325749
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot [defunct zombie]]Понимаю, что вендоюзеры от природы извращенцы, но даже для них придумали команду timeout /t 2.[/quot]В Windows XP этой утилиты нет.

P.S. Только не надо про "Windows XP - тоже нет".
...
Рейтинг: 0 / 0
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38325770
[defunct zombie]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О чём и речь... извращенцы.

http://stackoverflow.com/questions/6812484/batch-file-test-error-level
...
Рейтинг: 0 / 0
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38325775
[defunct zombie]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ваши идолы врут о поддержке команды timeout в ХРени?
http://technet.microsoft.com/en-us/library/cc754891(v=ws.10).aspx Applies To: Windows 7, Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP
...
Рейтинг: 0 / 0
Bat ожидающий ЗАПУСК друго-го приложения. Реально?
    #38325953
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Поддерживается" и "входит в дистрибутив" - несколько разные вещи.
Так вот, в дистрибутив Windows Server 2003 утилита timeout включена, а в дистрибутив Windows XP - нет.
В одном из комментариев об этом, кстати, сказано.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Bat ожидающий ЗАПУСК друго-го приложения. Реально?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]