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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
 
 
Старая версия первого сообщения

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
Неет, нужно вот эту картинку [] развернуть и заставить дивагстья вот так - []

Всего записей: 109 | Зарегистр. 03-08-2007 | Отправлено: 20:14 14-09-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rotorina
Как говорил известный персонаж мультика - "ничего не понимаю"!
Картинки, про которые ты говоришь, подставляет движок форума вместо кодов :гиги: и :лол: (латинскими буквами). При этом, я не понимаю, что тебе требуется заменить и где.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:23 14-09-2007
VeenK

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди помогите советом =)  
Батник запускает последовательно 2 процесса(проги). Как при завершении первого сделать автоматическое завершение второго? И возможно ли закрытие самого батника после запуска последнего процесса без ожидания его завершения ?
Расскажите или киньте умную ссылку плиз )

Всего записей: 13 | Зарегистр. 19-05-2007 | Отправлено: 20:58 14-09-2007
Rotorina



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

Всего записей: 109 | Зарегистр. 03-08-2007 | Отправлено: 21:05 14-09-2007 | Исправлено: Rotorina, 21:12 14-09-2007
Elroir



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

Цитата:
Как при завершении первого сделать автоматическое завершение второго?

Автоматически - никак. Нужно настроить постоянную проверку существования данного процесса (tasklist.exe) и в тот момент, когда его "не окажется в живых", убить второй процесс (taskkill.exe).

Цитата:
И возможно ли закрытие самого батника после запуска последнего процесса без ожидания его завершения ?

Запускай процессы командой "start /b "" process.exe" - батник не будет ожидать их завершения и закроется после запуска последнего.
 
Добавлено:
Rotorina
Все нормально

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:06 14-09-2007
VeenK

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

Цитата:
Нужно настроить постоянную проверку существования данного процесса (tasklist.exe) и в тот момент, когда его "не окажется в живых", убить второй процесс (taskkill.exe).

А можно поподробней ...
1. Как анализировать полученный с помощью tasklist.exe результат?  
2. Как организовать постоянный контроль за процессом в фоновом режиме (если это ваще возможно)?
Прошу прощение за возможно очевидные вопросы просто я не очн силен в батниках

Всего записей: 13 | Зарегистр. 19-05-2007 | Отправлено: 00:31 15-09-2007
Elroir



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

Цитата:
А можно поподробней ...  

Можно.
Первый батник start_procs.cmd :

Код:
 
@echo off
start notepad.exe
hstart /nowindow kill_second_process.cmd
start calc.exe
 

Используется утилита hstart.exe (ссылка в шапке, в разделе "Полезные утилиты").
Второй батник kill_second_process.cmd :

Код:
 
@echo off
:again
tasklist | find /i "notepad.exe"
if %errorlevel%==0 goto again
taskkill /f /im calc.exe
 

Во время работы второго батника, процессор грузится на 100 процентов.


----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 06:45 15-09-2007 | Исправлено: Elroir, 00:45 16-09-2007
KBJ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, можно ли решить задачу с помощью батника ?:
 
нужно поменять IP, маску, шлюз на строго одном сетевом соединении. Из исходных данных известно, что сейчас IP вида 192.168.1.х. Так как имя соединения неизвестно, а соединений может быть несколько не могу "в лоб" воспользоватся netsh interface ip set.

Всего записей: 6 | Зарегистр. 16-09-2007 | Отправлено: 00:40 16-09-2007 | Исправлено: KBJ, 00:41 16-09-2007
VeenK

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

Цитата:
Во время работы второго батника, процессор грузится на 100 процентов.

Меня чет это не очень устраивает =))
Я думал о том, чтобы при завершени процесса автоматически запускался батник и убивал 2 процесс. Скорее всего это можно реализовать токо дописав в прогу с дизассеблированием. Все равно спасибо за помощь.
 
а еще ...

Цитата:
в разделе "Полезные утилиты"

Наверно я просто слепой но такого раздела не нашел

Всего записей: 13 | Зарегистр. 19-05-2007 | Отправлено: 18:27 16-09-2007
Elroir



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

Цитата:
Наверно я просто слепой но такого раздела не нашел

Да нет - не слепой. Это я не обратил внимание, что отвечаю в теме "Командная строка, батники, сценарии (bat, cmd)", а не в "Задачи на bat-файлах 4", в шапке которой, действительно есть соответствующий раздел.
 

Цитата:
Во время работы второго батника, процессор грузится на 100 процентов.  
Меня чет это не очень устраивает =))

Дело в том, что процессор грузится потому, что постоянно идет опрос - есть ли данный процесс в памяти. Если сделать паузу между опросами в 2 секунды - такой загрузки уже не будет.


----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:23 16-09-2007 | Исправлено: Elroir, 21:56 16-09-2007
Maza Faka



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

Код:
 
@echo off
chcp 1251>nul
 
for /f "tokens=1 delims=[]" %%a in (
'ipconfig ^| find /n "192.168.1.1"') do set number=%%a & goto :sub
 
:sub
set /a count=%number%-4
for /f "tokens=1 delims=-" %%b in ('
ipconfig ^| more +%count%') do set "name=%%b" & goto :show
 
:show
set name=%name:~0,-1%
echo %name%
 

IP-адрес заменишь на нужный тебе, если сработает, то немного дополню код на обработку ошибок.

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 19:34 16-09-2007
KBJ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maza Faka
Супер! Работает. Но не годится для случаев, если на одном интерфейсе назначено два IP (бывает и такое), т.к. выдаёт имя только при поиске IP самого меньшего (из, например, двух 192.168.0.1 и 192.168.1.1 - только для первого). Но это редкий случай, можно не учитывать.
 
А можно ли реализовать ещё это:
в некую переменную IP считать текущий IP (из найденно по маске 192.168.1.х) и чтением из файла произвести замену её значения по заданному типу: если 192.168.1.1 - то станет 192.168.0.1, 192.168.1.2 -> 192.168.0.22 и т.д.?

Всего записей: 6 | Зарегистр. 16-09-2007 | Отправлено: 22:52 16-09-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KBJ
Можно, тупо сравнивая строки:

Код:
 
If %IP%==192.168.1.1 set IP=192.168.0.1
И т. д.
 

А лучше выложи пример файла откуда будут считываться значения.

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:04 17-09-2007
RedGeek



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемые, прошу поучавствовать в опросе на тему:
Создание программы для оптимизации компьютера
Думаю, она будет весьма полезна для нашего брата админа (поставил и забыл, а она оптимизирует себе ).

Всего записей: 157 | Зарегистр. 11-12-2006 | Отправлено: 10:51 17-09-2007
KBJ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maza Faka
Текстовый:
 
192.168.1.1 - 192.168.0.1
192.168.1.10 - 192.168.2.10
192.168.1.20 - 192.168.3.20  
и т.д.
 
Как в переменную "IP" (при условии поиска его по маске 192.168..1.х) получить текущий IP?

Всего записей: 6 | Зарегистр. 16-09-2007 | Отправлено: 19:18 17-09-2007 | Исправлено: KBJ, 20:27 17-09-2007
Poly

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени всем!
Сразу извинюсь за возможный повтор, но ничего не нашел, а что нашел - не смог осмыслить
 Есть задача бекапа файлов по маскам из определённых папок (например "Мои документы" и "Рабочий стол") с архивированием при помощи 7z (с сохранением пути в подкаталогах).  
Имя архива вида - Дата_Время. В каталоге бекапа должно быть последних два архива.  
 Надеюсь на понимание и поддержку.
 Заранее благодарю!

Всего записей: 20 | Зарегистр. 15-08-2002 | Отправлено: 01:09 18-09-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Poly
Что выдает команда "echo %date%_%time%" ?

----------
"В интернете есть все, но не всегда"

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли возможнось создавать файлы *.rdp средствами, так сказать, батничков?
Необходимы: адрес, пароль, домен, размер уд. стола, цвет. политра...  

Всего записей: 931 | Зарегистр. 23-01-2006 | Отправлено: 08:45 18-09-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
klimusu
Да
Это обычный текстовый файл - там все прозрачно, кроме (естественно пароля)
 
Но его можно заранее выбирать из некой базы образцов

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 09:54 18-09-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KBJ
Пробуй:

Код:
 
@Echo Off
ChCp 1251>Nul
For /F "Delims=" %%a In ('Ipconfig ^| Findstr [0-9]') Do (
 Echo %%a | Find "192.168.1.">Nul && Set IP=%%a
  For /F "Tokens=1* Delims=- " %%b In (IpList.txt) Do (
   Echo %%a | Find "%%b">Nul && Set IP=%%c
 )
)
Echo %IP%
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:04 18-09-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