Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

   

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 4
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
 
 
Старая версия первого сообщения

Всего записей: 11450 | Зарегистр. 12-10-2001 | Отправлено: 04:28 24-09-2002 | Исправлено: Elroir, 19:35 11-09-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
utka00
По каким критериям идет отбор копий, которые надо закрыть?
 
Добавлено:
И вообще приведи конкретный пример того, что ты хочешь сделать - что запущено, что ты хочешь закрыть и т.д.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 18:13 17-05-2007
utka00



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имя файла M.exe
заголовки:
first - ...
second - ...
third - ...
вот их и хочу закрывать разом

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 18:26 17-05-2007 | Исправлено: utka00, 00:23 18-05-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
utka00

Код:
 
@echo off
taskkill /IM m.exe /FI "WINDOWTITLE eq first*">null
taskkill /IM m.exe /FI "WINDOWTITLE eq second*">null
taskkill /IM m.exe /FI "WINDOWTITLE eq third*">null
 

Используется команда taskkill - в WinXP и выше она работает, в Win2000 - нет (там просто нет этой утилиты).
С этим кодом есть одна проблема - если открыты еще окна m.exe с заголовками,  начинающимися на first, second и third, они тоже закроются.
Если такое может произойти - напиши, будем думать дальше.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 18:59 17-05-2007 | Исправлено: Elroir, 23:27 17-05-2007
utka00



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
работает только один косяк - прога просит подтверждения, варианты: да, нет, отмена
и еще появляется файл null, как то бы без него можно?

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 19:07 17-05-2007 | Исправлено: utka00, 19:26 17-05-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
utka00

Цитата:
еще появляется файл null, как то бы без него можно?

Конечно - это я вместо одной буквы "l" в слове nul, написал две . Убери в каждой строчке одну "l" в конце.

Цитата:
только один косяк - прога просит подтверждения, варианты: да, нет, отмена  

Я тестировал на notepad.exe - он не спрашивает подтверждения.
Вот новый код:

Код:
@echo off  
taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F >nul
taskkill /IM m.exe /FI "WINDOWTITLE eq second*" /F>nul
taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F>nul


Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:19 17-05-2007 | Исправлено: Elroir, 23:28 17-05-2007
utka00



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
странно, почемуто first - ... не закрывается, а иногда вобще не закрывается ниче
А может как то можно закрыть все окна программы кроме определенного, мне так даже лучше былобы

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 20:33 17-05-2007 | Исправлено: utka00, 00:23 18-05-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
utka00
Действительно странно - убери в конце строчек ">nul", запусти и посмотри что пишется.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:36 17-05-2007
utka00



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
сделал - теперь только ... закрылся)

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 20:39 17-05-2007 | Исправлено: utka00, 00:24 18-05-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
utka00

Цитата:
сделал - теперь только ... закрылся)

 
Добавь строчку с командой "pause", запусти посмотри, что выдают команды taskkill в командную строку

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:42 17-05-2007 | Исправлено: Elroir, 23:28 17-05-2007
utka00



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подожди давай поподробнее куда подставить pause и про какой пример ты говоришь про 1й или 2й
2й вариант http://pokoynik.dom.raid.ru/close.png
причем какойто один всегда не закрывается

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 20:48 17-05-2007 | Исправлено: utka00, 21:00 17-05-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
utka00
Про второй - тот которык без ">nul"
Первую строчку убери и добавь добавь 4-ую строчку - команду "pause"
Вот так:

Код:
 
taskkill /IM m.exe /FI "WINDOWTITLE eq first*" /F  
taskkill /IM m.exe /FI "WINDOWTITLE eq second*" /F  
taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F
pause
 

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:51 17-05-2007 | Исправлено: Elroir, 23:29 17-05-2007
utka00



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сделал - один всеравно не закрывается
http://pokoynik.dom.raid.ru/close2.png

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 21:02 17-05-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Понятно - попробуй так:

Код:
 
start /wait taskkill /IM m.exe /FI "WINDOWTITLE eq first*" /F  
start /wait taskkill /IM m.exe /FI "WINDOWTITLE eq second*" /F  
start /wait taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F  
pause
 

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:04 17-05-2007 | Исправлено: Elroir, 23:30 17-05-2007
utka00



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://pokoynik.dom.raid.ru/close3.png

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 21:05 17-05-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
utka00
Ничерта не понимаю - у меня точно такие же команды работают на ура.
Попробуй так:

Код:
 
taskkill /IM m.exe /FI "WINDOWTITLE eq first*" /F  
taskkill /IM m.exe /FI "WINDOWTITLE eq second*" /F  
taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F  
taskkill /IM m.exe /FI "WINDOWTITLE eq first*" /F  
taskkill /IM m.exe /FI "WINDOWTITLE eq second*" /F  
taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F
pause
 

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:15 17-05-2007 | Исправлено: Elroir, 23:32 17-05-2007
utka00



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://pokoynik.dom.raid.ru/close4.png
один закрылся

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 21:19 17-05-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
utka00
Запусти из командной строки следующую команду и выложи результат.

Код:
 
tasklist /FI "IMAGENAME eq m.exe" /v /nh
 

Естественно все нужные копии m-a должны быть запущены.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:28 17-05-2007 | Исправлено: Elroir, 23:32 17-05-2007
utka00



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://pokoynik.dom.raid.ru/close5.png

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 21:30 17-05-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
utka00
Пойдем другим путем:

Код:
@echo off
tasklist /FI "IMAGENAME eq m.exe" /v /nh
setlocal enabledelayedexpansion
for /f "tokens=2,11" %%a in ('tasklist /FI "IMAGENAME eq m.exe" /v /nh') do (
if /i "%%b"=="first" set "pidlist=!pidlist!/PID %%a "
if /i "%%b"=="second" set "pidlist=!pidlist!/PID %%a "
if /i "%%b"=="third" set "pidlist=!pidlist!/PID %%a "
)
taskkill %pidlist% /F

Что выдает?

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:52 17-05-2007 | Исправлено: Elroir, 23:34 17-05-2007
utka00



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://pokoynik.dom.raid.ru/close6.png

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 21:54 17-05-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru