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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Вопрос как зделать чтобы, (.bat) файл ждал включения программы (http://forum.oszone.net/showthread.php?t=314174)

ufooo 23-04-2016 16:14 2628930

Вопрос как зделать чтобы, (.bat) файл ждал включения программы
 
Вопрос как сделать чтобы, (.bat) файл ждал включения программы, на-пример: "Skype.exe" и увидев ее сразу отключал, и потом сам отключился.

Georgio 23-04-2016 19:48 2628969

Код:

@echo off

set "p=Skype.exe"

cmd/c for /l %%i in () do @tasklist /fi "imagename eq %p%"^| findstr/v :^&^& (taskkill /f /im "%p%"^& exit/b)


ufooo 23-04-2016 20:44 2628987

Работает-спосибо.

Foreigner 23-04-2016 21:12 2628994

ufooo, Если skype запускается батником, то можно отловить его запуск из другого батника. Например:
Код:

:: Батник для запуска (блокнот в качестве примера)
@echo off

start notepad
waitfor /si test

Код:

:: Батник, который отлавливает сигнал "test", запускается первым
@echo off

waitfor test
taskkill /im notepad.exe

Иначе, как у Georgio, в бесконечном цикле проверять наличие процесса.

ufooo 23-04-2016 22:24 2629009

Foreigner!
Не-плохая идея. Нет больше 100% нагрузки на: "Cpu".

Iska 23-04-2016 22:47 2629013

Цитата:

Цитата Foreigner
waitfor /si test »

Хех, оказывается, отелились насилу к Vista/Windows 7 озаботиться хоть каким-то взаимодействием ;).


Цитата:

Цитата ufooo
Не-плохая идея. Нет больше 100% нагрузки на: "Cpu". »

Добавьте в код коллеги Georgio внутрь цикла таймаут (например, «>nul timeout /t 1 /nobreak») — и «100% нагрузки» не будет.

ufooo 24-04-2016 02:12 2629033

Цитата:

Цитата Iska
Добавьте в код коллеги Georgio внутрь цикла таймаут »

Мне с добавлением, (>nul timeout /t 1 /nobreak) будет трудновато.

Georgio 24-04-2016 03:03 2629037

Код:

@echo off

set "p=Skype.exe"

cmd/c for /l %%i in () do @tasklist /fi "imagename eq %p%"^| findstr/v :^&^& (taskkill /f /im "%p%"^& exit/b)^& ^>nul timeout /t 1 /nobreak


ufooo 24-04-2016 04:09 2629043

Georgio
Идеально!

turbolover 24-04-2016 21:30 2629297

Спрячем этот процесс от любопытных глаз!
Код:

@if "%1" neq "*" (
 mshta vbscript:Execute("CreateObject(""WScript.Shell"").Run """"""%~f0"""" *"",0,False:Close()"^)
 exit/b
)
set "p=Skype.exe"
cmd/c for /l %%i in () do @tasklist /fi "imagename eq %p%"^| findstr/v :^&^& (taskkill /f /im "%p%"^& exit/b)^& ^>nul timeout /t 1 /nobreak


ufooo 24-04-2016 21:39 2629299

turbolover
Теперь совсем хорошо, консоль спрятана и неболтается на рабочем столе.

Sasssssssha 10-05-2016 11:58 2633464

Вот, то что надо только не могли бы кто-нибудь подредактировать чтобы бат ждал открытия проги, после того как увидел открытую бат продолжал свою работу далее


Время: 11:37.

Время: 11:37.
© OSzone.net 2001-