|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - завершении процессов при их запуска. |
|
CMD/BAT - завершении процессов при их запуска.
|
Новый участник Сообщения: 1 |
Подскажите как реализовать следующее
1. "поиск" несколько запущенных процессов ( от 3 шт). Например процесс: procexp64.exe, steam.exe, PotPlayerMini64.exe; 2. если нашли процессы то их завершение; 3. зациклить "скрипт" что бы постоянно работало. |
|
Отправлено: 09:43, 03-05-2022 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Вы хотели CMD ...
@Echo Off cls :Begin Set PgmKill="procexp64.exe" "steam.exe" "PotPlayerMini64.exe" "chrome.exe" "mspaint.exe" "calc.exe" "notepad.exe" Set "SFind=/I" For %%i In (%PgmKill%) Do Call Set "SFind=%%SFind%% /C:%%i" FOR /F "usebackq delims= " %%i IN (`2^>nul TaskList ^|FindStr %SFind%`) DO TaskKill /F /IM "%%i" >nul TimeOut /T 5 GoTo :Begin Exit /B |
------- Отправлено: 18:39, 03-05-2022 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 346
|
megaloman
Привет. А случаем не знаешь способ, закрывать процессы что в трей свёрнуты? Именно закрывать , а не убивать. Убивать мы можем. Таким как ты показал выше и другими способами. Но всё это сводится к kill . А как-бы\можно-ли WM_Close... В общем, вопрос такой: можно ли, скриптами PS\WB\JS и др. находить окна программ свёрнутых в трей и корректно(выход) их закрывать? |
Отправлено: 19:27, 03-05-2022 | #3 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать wasp14, ИМХО, корректно - только через интерфейс софта, общей панацеи, ИМХО, быть не может. Можно, наверное, думать о каждой конкретной программе и искать способ её закрать корректно, подозреваю, через AutoIt. Но я не владею ...
|
------- Отправлено: 20:03, 03-05-2022 | #4 |
Забанен Сообщения: 346
|
Такие же, примерно, ответы всегда и получал на разных форумах. Да и сам к такому же пришёл, когда почитал, что такое, эти-самые "свёрнутые в трей программы". Там и окна уних выгружаются\скрываются и вообще ГУЙ толи выгружается совсем, то-ли в ФП сбрасывается принудительно... это особый режим, что должен быть заложен кодером, т.е. вообще не просто-так это, свернуть в трей. Это не просто "икнока в трее", как делают принудительно программы типа WinRoll. Давно читал.
Благодарю за ответ. |
|
Отправлено: 20:16, 03-05-2022 | #5 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата wasp14:
Для этого установите модуль psClick в PowerShell. Запросить весь список содержимого трея: Так будет выглядеть результат: IconText IconHandle Pid IsVisible -------- ---------- --- --------- Bandicam 5706888 10680 True GPU: 51C... 66340 9384 True Сеть... 66180 6892 True Telegram Desktop 1510712 30572 True Безопасность Windows - Рекомендуемые действия. 131190 9056 False Яндекс.Диск 3.2.17.4580... 196702 20184 False Диспетчер Realtek HD 131138 6676 False TeamViewer - 123321456 131582 10444 False Plex Media Server 66410 10600 False Yandex 16454274 15648 False GIGABYTE XTREME GAMING ENGINE 68548 10400 False Java Update Available 727034 26088 False Настройки NVIDIA 394054 5596 False Clear-Host # Запросить весь список содержимого трея $tray = Get-TrayInfo # Найти PID приложения SpeedFan $speedFanId = (Get-Process SpeedFan).Id # Выбрать из списка трея приложение SpeedFan $speedFanTray = $tray|Where Pid -eq $speedFanId # Вывести на экран текст с иконки $speedFanTray.IconText Цитата wasp14:
Если какая-либо программа не будет закрываться, то добавьте усиливающие параметры команды Close-Window. У самих программ могут отличаться способы их закрытия. |
||
Последний раз редактировалось Fors1k, 17-05-2022 в 16:47. Отправлено: 18:25, 05-05-2022 | #6 |
Забанен Сообщения: 346
|
Какой крутяк Fors1k !
Счас надо проверить, попробовать и наконец-то, через ~12 лет заюзать Винду как хочется ![]() Вкратце: суть в том, что давно уже написал скрипт запуска нужных програм. Все они, кроме TC, заводятся(из ТС живут внутри TC живут на флешках в таком же сборе и на компе домашнем. везде одна структура папок, где ./ выступает %COMMANDER_PATH%) и "живут в трее"; это всякие punto , clipdiary, winroll и т.д. штук 8 всего. Т.с. свой набор. И (такое редко бывает, но всё же) когда заводишь игру, хочется так же просто закрыть всё это, что ранее заводил. И вот тут приходистя по-одному их закрывать. Опережая надмозгов: дело не в памяти и не в проц.времени, дело в том что половина их, глобальные хуки клавиш делают. А играю я в шутеры или стратегии, где свои действия на эти действия. |
Отправлено: 14:07, 06-05-2022 | #7 |
Старожил Сообщения: 327
|
Профиль | Отправить PM | Цитировать wasp14, у меня где-то в архивах валяется текст программы на C#, умеющей это делать (она Google Drive рестартовала). Надо?
|
Отправлено: 14:16, 06-05-2022 | #8 |
Забанен Сообщения: 346
|
sonny362, благодарю, даж яхз :-) Если там можно несколько, список закрыть(написана ф-ция ибо я и жабаскрипт знаю на 3+, а C# вобще никак) давай конечно(личку, архив... как удобно).
Заполучить такую прожку былоб отлично. Я б даже C# освоил, основы, чтоб доделать такую прожку. Скрипт попробую что выше предложили... мож получится то, что давно желал: простая программа, что запускает по-списку(допустим лежит рядом с ней .cfg, .ini, .list) и по этому же списку(имени процесса) закрывает программы. Запуск с параметрами -start или -close ![]() Уже и винды четыре поколения сменилось, а такой проги всё нет и нет. |
Отправлено: 14:38, 06-05-2022 | #9 |
Старожил Сообщения: 327
|
Профиль | Отправить PM | Цитировать wasp14,
Да там всё просто, как угол дома (на всякий случай, исходный копирайт не мой - нашёл когда-то где-то на просторах и доработал): using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Diagnostics; namespace StartStopGDrive { class Program { static void Main(string[] args) { Process[] procs = Process.GetProcesses(); foreach (Process proc in procs) { if (proc.ProcessName == "Google Drive") proc.Kill(); } Process.Start(@"C:\Program Files\Google\Drive File Stream\launch.bat"); } } } |
Последний раз редактировалось sonny362, 06-05-2022 в 15:34. Отправлено: 15:17, 06-05-2022 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Завершение всех процессов с одинаковым именем, если их больше 2 | santey007 | Скриптовые языки администрирования Windows | 13 | 03-02-2020 07:24 | |
Прочие - Всплывающие сообщения при запуске и завершении процессов/программ | sceatch | Программное обеспечение Windows | 0 | 27-07-2013 11:26 | |
Статья - Ускорение запуска системы и автозагрузка процессов - Программа Startup Delayer 3.0 | xiNeo | Хочу все знать | 0 | 24-06-2012 15:22 | |
CMD/BAT - [решено] Ожидание процессов с разной поледовательностью запуска для их завершения. | Devils Night | Скриптовые языки администрирования Windows | 7 | 07-04-2012 10:59 | |
Службы - служба запуска серверных процессов DCOM | Basala | Microsoft Windows 2000/XP | 3 | 06-05-2010 12:56 |
|