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

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

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

Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



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

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

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:08 19-11-2007 | Исправлено: Dmitriy05, 22:49 13-04-2008
Kac



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 KapralBel
(
Не совсем так...
Расчет А запускается, а вот расчет В и С НЕТ.
Расчет В ждет завершения А.
И т.д.
А надо чтобы ВСЕ 3 расчета выполнялись параллельно! А после завершения ВСЕХ трёх запустилось дальнейшее действие...
вот элементарная проверка...
 
start /wait "1" pause
start /wait "2" pause
start /wait "3" pause
start /wait "4" pause
echo 1234
pause
 
НАДО - echo 1234 появлялось токо тогда когда я нажму во всех окнах любую клавишу а потом наберу exit
 
Добавлено:
Вот еще пример - самый лучший демонстрирующий что надо, но не работающий потому что приглашение посмотреть лог выведеться когда еще пинги будут идти .
 
start "Пингую сервер 1 и записываю результат в лог1" ping localhst >res1.log
start "Пингую сервер 2 и записываю результат в лог2" ping localhst >res2.log
start "Пингую сервер 3 и записываю результат в лог3" ping localhst >res3.log
start "Пингую сервер 4 и записываю результат в лог4" ping localhst >res4.log
start "Пингую сервер 5 и записываю результат в лог5" ping localhst >res5.log
start "Пингую сервер 6 и записываю результат в лог6" ping localhst >res6.log
echo "Только что завончили пинговаться все сервера! Можете просмотреть все результаты в логах!"
pause

Всего записей: 41 | Зарегистр. 10-08-2004 | Отправлено: 14:12 27-11-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Kac
 
START работает с программами, а не с командами CMD
и не с командными файлами
 
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:07 27-11-2007
audi6

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

 

Всего записей: 13 | Зарегистр. 13-11-2007 | Отправлено: 15:11 27-11-2007 | Исправлено: audi6, 15:52 27-11-2007
KapralBel



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

Цитата:
А надо чтобы ВСЕ 3 расчета выполнялись параллельно!  

И что бы После завершения всех трех процессов продолжилось выполнение?
 
Тогда только создание маркерных файлов
 
батнички для такого не предназначены

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:11 27-11-2007
Kac



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну вот с последнем примером про параллельный ПИНГ 10и серверов...
(Чтобы время в 10 раз меньше ушло)
ping - это программа
Как сделать так что бы в батнике команда
echo "Только что завончили пинговаться все сервера! Можете просмотреть все результаты в логах!"  
выдавалась только когда пропингуются ПАРАЛЛЕЛЬНО! ВСЕ! сервера?

Всего записей: 41 | Зарегистр. 10-08-2004 | Отправлено: 15:12 27-11-2007
GoldAngel

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Стоит задача с помощью батникак или CMD - найти и заменить в файле, строку с ip адресом, на тот который в данный момент используется на компьютере для соединения.
 
Например существует файл config.ini в нём записан адрес 127.0.0.1 надо найти эту строчку и заменить на тот, который используется в данный момент - например 10.114.6.5 - естественно, сохранив при этом результат.
 
Кто может помочь, - реально ли это осуществить с помощью командного файла? Спасибо!

Всего записей: 152 | Зарегистр. 13-09-2002 | Отправлено: 10:14 28-11-2007
Tipulatoid



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

Код:
@echo off
setlocal enabledelayedexpansion
set file=config.ini
 
for /f "delims=[] tokens=1" %%a in ('find /n "127.0.0.1" %file%') do set line=%%a
del /q tmp_file 2>nul
set counter=1
for /f "tokens=*" %%a in (%file%) do (
   if !counter!==!line! (
      echo 10.114.6.5>> tmp_file
   ) else (
      echo %%a>>tmp_file
   )
   set /a counter+=1
)
del /q %file% 2>nul
ren tmp_file %file%

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 12:32 28-11-2007 | Исправлено: Tipulatoid, 12:33 28-11-2007
GoldAngel

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
К сожалению этот алгоритм не работает, - файл обновляется, но на деле он ничего не заменяет или возможно не ищет, и еще там было условие, чтобы ip адрес брался из конфигурации соединения, т.к. на разных машинах он разный, но всё равно спасибо

Всего записей: 152 | Зарегистр. 13-09-2002 | Отправлено: 00:59 29-11-2007
Tipulatoid



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoldAngel
Приведи здесь пример config.ini

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 01:46 29-11-2007
GoldAngel

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
Пример - вот такой:
 
127.0.0.1
[Main]
Registry=1
AutoLoad=0
Enabled=0
IP=127.0.0.1
 
При этом, с каждым новым запуском этого батника, он добавляет в конец каждой строки по пробелу. Если конфиг состоит из одной строки, то он её заменяет, если несколько то нет

Всего записей: 152 | Зарегистр. 13-09-2002 | Отправлено: 10:32 29-11-2007
Tipulatoid



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

Код:
@echo off
setlocal enabledelayedexpansion
set file=config.ini
 
 
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| find "IP-"') do set currIP=%%a
set currIP=%currIP:~1%
 
for /f "skip=2 delims=[] tokens=1" %%a in ('find /n "127.0.0.1" %file%') do (
   set line=%%a
   del /q tmp_file 2>nul
   set counter=0
   for /f "tokens=*" %%b in (%file%) do (
      set /a counter+=1
      if !counter!==!line! (
         for /f "tokens=1 delims==" %%c in ('echo %%b') do set qaz=%%c
         if /i !qaz!==IP (
            echo IP=%currIP%>> tmp_file
         ) else (
            echo %currIP%>> tmp_file
         )
      ) else (
         echo %%b>>tmp_file
      )
   )
   del /q %file% 2>nul
   ren tmp_file %file%
)
 

 
Перед тем как копировать код внимательно почитайте шапку, там где написано Важно красным цветом.

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 15:15 29-11-2007 | Исправлено: Tipulatoid, 15:34 29-11-2007
audi6

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
 
привет, неподскажите как стереть название программ в меню ,старт-все програмы.
Я много по деинстолировал , но в пуске все прог.  они не исчезают,и стереть тоже немогу.
 

Всего записей: 13 | Зарегистр. 13-11-2007 | Отправлено: 00:16 30-11-2007
GoldAngel

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
Спасибо огромное - всё замечательно работает

Всего записей: 152 | Зарегистр. 13-09-2002 | Отправлено: 00:19 30-11-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
audi6
Клик правой кнопкой мыши и выбрать 3-й пункт, либо в папке "c:\Documents and Settings\All Users\Главное меню\Программы\" и "c:\Documents and Settings\Имя аккаунта\Главное меню\Программы\"

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:11 30-11-2007
Rand Al Tor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят я в этом самый новичок, могу только что то очень простое делать.
 
а тут ситуация сложилась, и требуется написать батник  
 
запускается при старте системы, садится в сервисы, и проверяет айпишник у компа при старте (+ каждый час, либо как то отслеживает когда происходят реконнекты), и самое сложное отправляет их мне на мыло или в асю, как угодно лишь бы они до меня доходили
 
- такой вообще возможен?

Всего записей: 70 | Зарегистр. 29-09-2004 | Отправлено: 10:00 30-11-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rand Al Tor
Возможно.

Цитата:
запускается при старте системы, садится в сервисы

http://support.microsoft.com/?kbid=137890
http://mike-tech.com/article.php?gif=win2k&article=135
 

Цитата:
проверяет айпишник у компа при старте (+ каждый час, либо как то отслеживает когда происходят реконнекты),  

Много раз обсуждалось либо здесь, либо в теме "Задaчи на bat-файлах" (ссылка в шапке). Поищи разбор вывода команды ipconfig и утилиту sleep.exe
 

Цитата:
и самое сложное отправляет их мне на мыло

Тоже обсуждалось много раз -  
blat - отправка почты из консоли

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 16:46 30-11-2007
Alex_70



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь может подсказать, что это значит  - SEND - Сервер сообщает, что он не готов, ответ:"Cannot connect to SMTP server 62.140.232.3(62.140.232.3:25)connect error10061

Всего записей: 117 | Зарегистр. 15-12-2006 | Отправлено: 19:25 30-11-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_70
Телепаты в отпуске.
Описывай проблему полностью - что, где, когда и т.д.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:28 30-11-2007
Alex_70



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
при отправке письма у меня выскакивает такое сообщение
Цитата:
SEND - Сервер сообщает, что он не готов, ответ:"Cannot connect to SMTP server 62.140.232.3(62.140.232.3:25)connect error10061

и письмо сообветственно не отправляется.....захожу напрямую в почту напрямую с сайта, к примерк mail.ru, rambler.ru, письма отправляются без проблем

Всего записей: 117 | Зарегистр. 15-12-2006 | Отправлено: 20:55 30-11-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_70
Первое и самое главное - при чем тут тема "Командная строка, батники, сценарии"?
Второе - телепаты все еще не вернулись. Из какой программы ты пытаешься отправить письмо?
Третье - если я правильно понял, ты пользуешься услугами провайдера BirulevoNET. Судя по ошибке, их почтовый сервер не принимает подключения к 25 порту. Свяжись с провайдером.  

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:12 30-11-2007 | Исправлено: Elroir, 21:13 30-11-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

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru