Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Несколько процессов в tasklist find

Ответить
Настройки темы
CMD/BAT - Несколько процессов в tasklist find

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как сделать так что бы tasklist искал сразу несколько процессов например у нас есть условный блокнот я хочу открывать его через cmd но только если не открыт калькулятор или paint или же блокнот уже не запущен

Код: Выделить весь код
@echo off

TIMEOUT /T 5
Set process1=paint.exe calc.exe
set process2=notepad.exe

tasklist /FI "ImageName EQ %process2%" | find /I "%process2%"
If %errorlevel% NEQ 1 goto :ex
:first
tasklist /FI "ImageName EQ %process1%" | find /I "%process1%"
If %errorlevel% NEQ 0 goto :first
taskkill /f /im %process2%
:first
tasklist /FI "ImageName EQ %process2%" | find /I "%process2%"
If %errorlevel% NEQ 1 goto :first

:go
tasklist /FI "ImageName EQ %process1%" | find /I "%process1%"
If %errorlevel% NEQ 1 goto :go
start notepad.exe
goto :first

:ex
exit

Отправлено: 17:26, 16-08-2021

 

Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
:: Пропал любой процесс из списка - выполнить команду
@echo off
set "pr1=proc1.exe"
set "pr2=proc2.exe"
cmd /c for /l %%i in () do @for %%p in (%pr1% %pr2%) do @tasklist /fi "imagename eq %%p"^|findstr /v :^|^| (echo Запуск^& exit /b)^&^>nul timeout /t 1 /nobreak
pause
Код: Выделить весь код
:: Мониторит открытый калькулятор и блокнот, если пропал калькулятор - закроется и блокнот
@echo off
set "p1=calc.exe"
set "p2=notepad.exe"
cmd /c for /l %%# in () do @tasklist /fi "imagename eq %p1%"^|findstr /v :^|^| (taskkill /f /im "%p2%"^& exit/b)^&^>nul timeout /t 1 /nobreak
pause

Отправлено: 17:49, 16-08-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 2733
Благодарности: 1698

Профиль | Отправить PM | Цитировать


Я понял, что надо открыть условный "notepad.exe", если не запущены условные ни "notepad.exe" ни "calc.exe" ни "mspaint.exe".
А что если так:
Код: Выделить весь код
tasklist |FindStr /B /I /C:"notepad.exe"  /C:"calc.exe" /C:"mspaint.exe" ||Start " " "C:\Windows\System32\notepad.exe"
или втихаря:
Код: Выделить весь код
tasklist |>nul FindStr /B /I /C:"notepad.exe"  /C:"calc.exe" /C:"mspaint.exe" ||Start " " "C:\Windows\System32\notepad.exe"
Или, если это только часть большого bat-файла, то ИМХО удобнее так:
Код: Выделить весь код
@Echo Off
	Set PgmRun="C:\Windows\System32\notepad.exe"
	Set PgmVeto="notepad.exe" "calc.exe" "mspaint.exe"

	Set "Veto= %PgmVeto%"
	tasklist |>nul FindStr /B /I %Veto: "= /C:"% ||Start " " %PgmRun%
Exit /B 0

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 17-08-2021 в 10:11.

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:23, 17-08-2021 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Несколько процессов в tasklist find

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - quser+tasklist Опиум Скриптовые языки администрирования Windows 1 15-03-2018 15:52
CMD/BAT - tasklist возвращает всегда ноль dasgespenst Скриптовые языки администрирования Windows 3 10-12-2015 10:56
CMD/BAT - [решено] используя tasklist | find проверить есть ли PID grey2 Скриптовые языки администрирования Windows 6 04-06-2011 12:55
Интерфейс - [решено] explorer.exe в несколько процессов izakiel Microsoft Windows 2000/XP 15 27-01-2011 13:10
Разное - Как запустить несколько одинаковых процессов на Win7 64bit NoNick Microsoft Windows 7 5 12-04-2010 11:00




 
Переход