|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Поиск и ожидание закрытия, уже запущенного процесса |
|
CMD/BAT - [решено] Поиск и ожидание закрытия, уже запущенного процесса
|
Новый участник Сообщения: 10 |
Всем привет,
Помогите написать батник или может как то по другому. в Общем. Нужно, чтоб, при запуске батника, он нашел уже запущенный процесс *****.exe и ждал его завершения, в течении дня, как пользователь попользуется. не важно, главное чтоб ждал, после как процесс завершится, должна выполнится команда удаление папки, там, куда будет помещен батник @for /f "tokens=1 delims=" %%D in ('dir /ad /b /s "Какая то папка или файл"') do rd /q /s "%%D" нашел на просторах инета, но он грузит Проц 5-10% что не допустимо, комп должен быть не нагружен вообще. Как такое реализовать. |
|
Отправлено: 09:11, 22-08-2020 |
Старожил Сообщения: 232
|
Профиль | Отправить PM | Цитировать Цитата Logonius:
Выложите здесь код с Вашими переменными |
|
Отправлено: 16:44, 22-08-2020 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 232
|
Профиль | Отправить PM | Цитировать Logonius, пробуйте исп. файл. Рядом нужно положить test.ps1
|
Отправлено: 17:01, 22-08-2020 | #12 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Uragan66,
param( $app = 'Spotify', $del = 'Data' )cls if(ps $app){ while(ps $app){sleep 1} ri "$PSScriptRoot\$del" -rec } else{"$app not launched yet."} Цитата Uragan66:
|
|
Отправлено: 17:03, 22-08-2020 | #13 |
Старожил Сообщения: 232
|
Профиль | Отправить PM | Цитировать Цитата Logonius:
Вот ещё скомпилированный скрипт PS, без батника. |
|
Последний раз редактировалось Uragan66, 29-08-2020 в 20:05. Отправлено: 17:24, 22-08-2020 | #14 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Цитата Uragan66:
|
|
Отправлено: 17:41, 22-08-2020 | #15 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать NameExe = "notepad.exe" 'Здесь прописать имя процесса NameDel = "Какая то папка или файл" 'Здесь прописать имя папки или файла WaitMsec = 5000 'Здесь прописать периодичность опроса наличия процесса милисек. Do WScript.Sleep WaitMsec Set WMI = GetObject("winMgmts:").ExecQuery("SELECT * From Win32_Process WHERE Name='" + NameExe + "'") If WMI.Count = 0 Then FScript = WScript.ScriptFullName With CreateObject("Scripting.FileSystemObject") PNameDel = .GetParentFolderName(FScript) + "\" + NameDel If .FolderExists(PNameDel) Then .DeleteFolder PNameDel, True If .FileExists(PNameDel) Then .DeleteFile PNameDel, True End With Exit Do End If Loop Запускать как wscript.exe kuku.vbs Чтобы не грузился зря процессор, периодичность опроса делайте разумной, не слишком маленькой |
------- Отправлено: 17:45, 22-08-2020 | #16 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать megaloman, От души, дружище, работает как надо, благодарю []~( ̄▽ ̄)~*
|
Отправлено: 17:51, 22-08-2020 | #17 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать Logonius, По видимому, моё решение прямолинейно: Вы сформулировали, как Вы хотите решить задачу, я тупо написал решение. Но, вчитываясь в Ваши посты:
Цитата Logonius:
@Echo Off Set "NameExe=C:\Windows\System32\notepad.exe" 'Здесь прописать путь к программе Set "NameDel=Какая то папка или файл" 'Здесь прописать имя папки или файла Start /Wait " " "%NameExe%" 2>nul Rd /S /Q "%NameDel%" 2>nul Del "%NameDel%" Exit /B NameExe = "C:\Windows\System32\notepad.exe" 'Здесь прописать путь к программе NameDel = "Какая то папка или файл" 'Здесь прописать имя папки или файла Ret = CreateObject("WScript.Shell").Run(NameExe, 1, True) With CreateObject("Scripting.FileSystemObject") PNameDel = .GetParentFolderName(WScript.ScriptFullName) + "\" + NameDel If .FolderExists(PNameDel) Then .DeleteFolder PNameDel, True If .FileExists(PNameDel) Then .DeleteFile PNameDel, True End With |
|
------- Последний раз редактировалось megaloman, 23-08-2020 в 12:23. Отправлено: 10:50, 23-08-2020 | #18 |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
NameExe = "C:\Windows\System32\notepad.exe" 'Здесь прописать путь к программе NameDel = "C:\1\scripts\2.txt" 'Здесь прописать имя папки или файла Ret = CreateObject("WScript.Shell").Run(NameExe, 1, True) With CreateObject("Scripting.FileSystemObject") PNameDel = .GetParentFolderName(WScript.ScriptFullName) + "\" + NameDel If .FolderExists(PNameDel) Then .DeleteFolder PNameDel, True If .FileExists(PNameDel) Then .DeleteFile PNameDel, True End With |
|
Отправлено: 06:42, 25-08-2020 | #19 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать Цитата Logonius:
Вот вариант, Если путь указан, берётся указанный, если нет - берётся путь к скрипту
NameExe = "C:\Windows\System32\notepad.exe" 'Здесь прописать путь к программе NameDel = "Z:\Box_In\Длинное имя\Тест1\Тест2\Какая то папка или файл" 'Здесь прописать имя папки или файла Ret = CreateObject("WScript.Shell").Run(NameExe, 1, True) PNameDel = NameDel With CreateObject("Scripting.FileSystemObject") If InStr(NameDel, "\") <= 0 Then PNameDel = .GetParentFolderName(WScript.ScriptFullName) + "\" + NameDel If .FolderExists(PNameDel) Then .DeleteFolder PNameDel, True If .FileExists(PNameDel) Then .DeleteFile PNameDel, True End With Цитата NLOLegion:
|
||
------- Последний раз редактировалось megaloman, 25-08-2020 в 10:11. Отправлено: 07:09, 25-08-2020 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Delphi - [решено] запуск программы с параметрами и ожидание ее закрытия | muslimdogger | Программирование и базы данных | 3 | 24-08-2015 23:20 | |
Проверка запущенного процесса | Anarasius | AutoIt | 2 | 25-06-2014 11:39 | |
.NET - Ожидание завершения процесса | Efsey | Программирование и базы данных | 11 | 24-11-2010 19:16 | |
Java - Отслеживание состояния запущенного процесса | EvgeniyQQQ | Программирование и базы данных | 15 | 02-10-2007 13:20 | |
А можно для уже запущенного процесса сменить user-a ? | ukms | Программирование и базы данных | 6 | 23-10-2002 13:51 |
|