| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Windows > Помогите. Батник |
| Автор: Elbrus 3.11.2005, 20:09 |
| Друзья! Скажу прямо, я в этих вопросах ламер. Покажите пожалуйста пример батника, завершающего все процессы на компьютере, кроме Процесс 1, Процесс 2. Заранее благодарю. С уважением El. |
| Автор: nikitao 3.11.2005, 20:43 |
| Elbrus,в cmd есть такая команда killtask,прописываешь killtask /?,смотришь синтаксис и делаешь батничек. |
| Автор: Void 3.11.2005, 21:28 |
| nikitao taskkill, если уж быть точным |
| Автор: Elbrus 3.11.2005, 21:40 |
| В том то и дело дорогие товарисчи. Что я не могу разобраться в самом helpe. Привожу описание на в.с: Завершает одно или несколько заданий или процессов. Процессы могут быть уничтожены кодом процесса или именем образа. Синтаксис taskkill [/s компьютер] [/u домен\пользователь [/p пароль]]] [/fi имя_фильтра] [/pid код_процесса]|[/im имя_образа] [/f][/t] Параметры • /s компьютер Указывает имя или IP-адрес удаленного компьютера (не используйте обратную косую черту). По умолчанию используется локальный компьютер. • /u домен\ пользователь Выполнение команды с разрешениями учетной записи пользователя, который указан как пользователь или домен\пользователь. По умолчанию используются разрешения текущего вошедшего пользователя компьютера, с которого поступила эта команда. • /p пароль Определяет пароль учетной записи пользователя, заданной параметром /u. • /fi имя_фильтра Задает типы процессов, которые следует завершить и не следует. Допустимыми именами фильтров, операторами и значениями являются следующие. Имя Значение Hostname Любая допустимая строка Status RUNNING|NOT RESPONDING Imagename Любая допустимая строка PID Любое положительное число Session Любой действительный номер сеанса CPUTime Допустимое время в формате чч:мм:сс. Компоненты мм и сс должны иметь значения от 0 до 59, а чч может быть любым значением числа без знака Memusage Любое целое число Username[/bold] Любое действительное имя пользователя ([домен]пользователь). Services Любая допустимая строка Windowtitle Любая допустимая строка Используются операторы eg, ne, gt, lt, ge, le. • /pid код_процесса Указывает код процесса, который необходимо завершить. • /im имя_образа Указывает имя образа процесса, который необходимо завершить. Используйте подстановочный знак (*) для указания всех имен образа. • /f Указывает, что процесс(ы) должен быть принудительно завершен. Этот параметр не действует для удаленных процессов, все удаленные процессы завершаются принудительно. • /t Задает завершение всех дочерних процессов вместе с родительским, такое действие обычно известно как уничтожение дерева. • /?Отображает справку в командной строке. Примечания • Подстановочный символ (*) принимается только при указании вместе с фильтрами. • Завершение удаленных процессов всегда выполняется принудительно независимо от указания параметра /f. • Указание имени компьютера в качестве фильтра HOSTNAME приведет к завершению работы и остановке всех процессов. • Используйте команду tasklist для определения кода завершаемого процесса. • Команда taskkill является заменой средству Kill. Примеры Далее приведены примеры использования команды taskkill: taskkill /pid 1230 /pid 1241 /pid 1253 taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe taskkill /s srvmain /f /im notepad.exe taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im * taskkill /s srvmain /u maindom\hiropln /fi "USERNAME ne NT*" /im * taskkill /f /fi "PID ge 1000" /im * Дело в том что завершаемые процессы могут быть любые, будь это winword, diablo или notepad, а процессы которые не надо завершать постоянны. P.S. : Я же говорю что ламер в командной строке, и хелп мне мало поможет С большим уважением El. Заранее благодарю. |
| Автор: Void 3.11.2005, 21:47 |
| taskkill /FI "IMAGENAME ne winword.exe" /FI "IMAGENAME ne notepad.exe" Проблема в том, что такая команда начнет прибивать и системные процессы. Пусть у нее и не хватит на все прав, но что из этого получится, не знаю, экспериментировать сейчас не хочу |
| Автор: nikitao 3.11.2005, 22:11 | ||
Да лопухнулся,а в старых Windax если не ошибаюсь вместо taskkill было просто KILL. |
| Автор: Elbrus 4.11.2005, 01:03 | ||||
Void Я догадался, так эти все системные процессы, и будут в списке тех которые не надо завершать (и еще пара других).
А это пример, как я понимаю (если понимаю Еще раз формулирую задачу: Батник, завершающий все процессы (процессы каждый раз разные), кроме системных и конкрентно "процесс 1", "процесс 2". Можно, конечно, вписать в завершаемые процессы все возможные, но их около трех-четырех десятков. Имхо - это изврат, я конечно понимаю что мы легких путей не ищем. Не могу написать сам. Очень прошу помочь!. С уважение Еl. |
| Автор: Void 4.11.2005, 09:14 | ||
| Elbrus Я же написал выше команду, которая прибьет все, кроме winword и notepad:
Фильтров можно добавить сколько угодно. |
| Автор: Elbrus 4.11.2005, 09:34 |
| А вот как, тогда я просто прогнал. Извиняюсь. То что надо! Мои благодарности. El. |