|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нумерация строк в cmd |
|
CMD/BAT - [решено] Нумерация строк в cmd
|
Пользователь Сообщения: 102 |
Профиль | Отправить PM | Цитировать Подскажите, можно ли сделать так, чтобы cmd автоматически нумеровал строки? Например, я задаю ping google.com -t и чтобы вместо стандартного:
Обмен пакетами с google.com [74.125.39.104] с 32 байтами данных: Ответ от 74.125.39.104: число байт=32 время=88мс TTL=54 Ответ от 74.125.39.104: число байт=32 время=75мс TTL=54 Ответ от 74.125.39.104: число байт=32 время=73мс TTL=54 Ответ от 74.125.39.104: число байт=32 время=74мс TTL=54 Обмен пакетами с google.com [74.125.39.104] с 32 байтами данных: 1. Ответ от 74.125.39.104: число байт=32 время=88мс TTL=54 2. Ответ от 74.125.39.104: число байт=32 время=75мс TTL=54 3. Ответ от 74.125.39.104: число байт=32 время=73мс TTL=54 4. Ответ от 74.125.39.104: число байт=32 время=74мс TTL=54 |
|
Отправлено: 12:31, 03-08-2011 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Цитата Anonymоus:
И на этом все, даже после принудительного завершения срипта через ctrl+c файлик не обновляется. Обновление происходит только во время разрыва связи. Оно конечно и понятно с одной стороны: зачем захламлять лог-файл лишними записями. Но было бы удобно, чтобы логи писались хотя бы при выходе из скрипта, что-то типа: 04.08.2011 - 10:32:56 >> google.com is active ***тут я завершаю работу скрипта*** 04.08.2011 - 10:55:51 >> google.com is active Цитата Dzirt2005:
|
||
Отправлено: 10:55, 04-08-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1240
|
Профиль | Отправить PM | Цитировать Цитата werov:
В файл result.log будет писаться все то, что выводится на экран |
|
Последний раз редактировалось Dzirt2005, 04-08-2011 в 11:28. Отправлено: 11:19, 04-08-2011 | #12 |
Ветеран Сообщения: 1758
|
Цитата werov:
|
|
Отправлено: 12:21, 04-08-2011 | #13 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Цитата werov:
Пример лога: Started at [04.08.2011 - 16:54:18] 04.08.2011 - 16:54:32 >> 192.168.50.5 is active Closed at [04.08.2011 - 16:55:42], last status: Online @Echo Off :: Anonymous, 2011 Cls Title Ping2Host :: Ведение лога Set Logging=true :: Таймаут в секундах Set Timeout=15 Echo. Set /P Host= Enter IP or hostname: ^> Cls&Set Total=0&Set Succes=0&Set Fail=0&Set Status=Not checked yet&Set StartTime=[%date% - %time:~-0,8%] Set /A Sleep=(Timeout-1)*1000 If %Logging%==true (Set LogFile="%~n0.log") Else (Set LogFile=nul) Echo.>>%LogFile%&Echo Started at %StartTime%>>%LogFile% :ShowStats Call :Stats .\bin\nc.exe wait %Sleep% Ping -n 1 -w 1000 -l 1024 %Host%>nul If %ErrorLevel% GTR 0 ( Set /A Fail+=1 If Not "%Status%"=="Offline" (Echo %date% - %time:~-0,8% ^>^> %Host% is offline>>%LogFile%) Set Status=Offline Title Offline [%Host%] - Ping2Host ) Else ( Set /A Succes+=1 If Not "%Status%"=="Online" (Echo %date% - %time:~-0,8% ^>^> %Host% is active>>%LogFile%) Set Status=Online Title Online [%Host%] - Ping2Host ) If Exist stop.txt ( Echo Closed at [%date% - %time:~-0,8%], last status: %Status%>>%LogFile% Exit ) GoTo ShowStats :Stats Cls Echo. Echo Started at: %StartTime% Echo. Echo Target: %Host% Echo Online: %Succes% times, Offline: %Fail% times Echo Current status: [%date% - %time:~-0,8%] - %Status% Echo. Exit /B |
|
Отправлено: 17:57, 04-08-2011 | #14 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Цитата werov:
Удали\закомментируй ping -n 59 localhost >nul и будет тебе счастье. После запятой действительно сотые |
|
Отправлено: 20:23, 04-08-2011 | #15 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Цитата:
Started at [05.08.2011 - 10:06:28] 05.08.2011 - 10:06:42 >> google.com is active Closed at [05.08.2011 - 10:06:42], last status: Online Started at: [05.08.2011 - 10:11:21] Target: google.com -t Online: 0 times, Offline: 0 times Current status: [05.08.2011 - 10:11:21] - Not checked yet И все... Т.е. проблема в том, что при наборе google.com срабатывает стандартная команда пинг гугл.ком, без параметра -t, как это работало в предыдущей версии скрипта. А если жестко руками прописать google.com -t, тогда скрипт отказывается работать З.Ы. удалил файл stop.txt скрипт снова стал работать нормально. Как только создал файл заново, скрипт автоматически сам вылетает после первых удачных 15 секунд |
|
Отправлено: 10:17, 05-08-2011 | #16 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать werov, зачем вы приписываете ключ -t к адресу? Скрипт и без этого будет работать до того момента, как вы не прекратите его работу. Файл stop.txt нужно создавать только тогда, когда хотите выключить скрипт, чтобы он корректно отработал выключение с записью в лог.
|
Отправлено: 16:11, 05-08-2011 | #17 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать а ну так с этого и надо было начинать, что файл stop.txt надо создать непосредственно перед отключением скрипта. Тогда все ясно. Спасибо! Очень выручил
|
Отправлено: 16:26, 05-08-2011 | #18 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Anonymоus
И еще одна маленькая просьба. Можно сделать так, чтобы при открытии батника не надо было вводить google.com, а сразу же после запуска начинались пинги? Т.е. чтобы какой сайт пинговать можно было править в самом батнике |
Отправлено: 10:13, 08-08-2011 | #19 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать werov, держите, адрес выделен жирным:
@Echo Off :: Anonymous, 2011 Cls Title Ping2Host :: Ведение лога Set Logging=true :: Таймаут в секундах Set Timeout=15 :: Адрес Set Host=google.com Set Total=0&Set Succes=0&Set Fail=0&Set Status=Not checked yet&Set StartTime=[%date% - %time:~-0,8%] Set /A Sleep=(Timeout-1)*1000 If %Logging%==true (Set LogFile="%~n0.log") Else (Set LogFile=nul) Echo.>>%LogFile%&Echo Started at %StartTime%>>%LogFile% :ShowStats Call :Stats .\bin\nc.exe wait %Sleep% Ping -n 1 -w 1000 -l 1024 %Host%>nul If %ErrorLevel% GTR 0 ( Set /A Fail+=1 If Not "%Status%"=="Offline" (Echo %date% - %time:~-0,8% ^>^> %Host% is offline>>%LogFile%) Set Status=Offline Title Offline [%Host%] - Ping2Host ) Else ( Set /A Succes+=1 If Not "%Status%"=="Online" (Echo %date% - %time:~-0,8% ^>^> %Host% is active>>%LogFile%) Set Status=Online Title Online [%Host%] - Ping2Host ) If Exist stop.txt ( Echo Closed at [%date% - %time:~-0,8%], last status: %Status%>>%LogFile% Exit ) GoTo ShowStats :Stats Cls Echo. Echo Started at: %StartTime% Echo. Echo Target: %Host% Echo Online: %Succes% times, Offline: %Fail% times Echo Current status: [%date% - %time:~-0,8%] - %Status% Echo. Exit /B |
Отправлено: 12:08, 08-08-2011 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Нумерация внутри строки | ImRight | AutoIt | 2 | 13-03-2011 16:39 | |
2010 - [решено] Нумерация страниц | Kathandra | Microsoft Office (Word, Excel, Outlook и т.д.) | 7 | 30-09-2010 20:16 | |
Установка - Нумерация жёстких дисков | twinzzz75 | Microsoft Windows 2000/XP | 7 | 12-07-2010 16:09 | |
2007 - Нумерация | Streamnewal | Microsoft Office (Word, Excel, Outlook и т.д.) | 2 | 14-06-2010 20:58 | |
Помогите пожалуйста не срабатывает команда из*cmd файла запускаемого из RanOnceEx.cmd | vovchiku | Автоматическая установка Windows 2000/XP/2003 | 6 | 25-09-2007 23:38 |
|