|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как вывести в лог значения из arp -a |
|
CMD/BAT - [решено] Как вывести в лог значения из arp -a
|
![]() Старожил Сообщения: 177 |
|
|
Отправлено: 11:40, 11-07-2011 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 12:50, 11-07-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:04, 11-07-2011 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата root221:
Цитата root221:
@echo off SETLOCAL EnableDelayedExpansion ::------------- set LOG=arp.log ::------------- if not exist "%LOG%" (echo:IP Машины Мак адрес&echo:)>"%LOG%" (for /f "tokens=1,2" %%a in ('arp -a^|findstr/brc:" *[0-9]"') do (set "$b=%%b" set "$a=%%a "& set "$a=!$a:~,15!" for %%x in ("-=" "a=A" "b=B" "c=C" "d=D" "e=E" "f=F") do set "$b=!$b:%%~x!" if not "!$b!"=="000000000000" findstr/ei "!$b!" "%LOG%">nul||echo !$a! !$b! ))>>"%LOG%" Цитата root221:
Цитата root221:
1) добавление в конец IP-адреса 8 пробелов, 2) обрезание строки по длине 15 символов. |
||||
------- Отправлено: 04:25, 12-07-2011 | #4 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать root221, как вариант:
@echo off SETLOCAL EnableDelayedExpansion ::путь\имя лог-файла set LOG=arp.log ::запись IP/MAC в переменные $$* for /f "tokens=1,2" %%a in ('"(type "%LOG%"& arp/a)|findstr/brc:" *[0-9]""') do ( set "$a=%%a "& set "$a=!$a:~,15!"& set "$b=%%b" for %%x in ("-=" "a=A" "b=B" "c=C" "d=D" "e=E" "f=F") do set "$b=!$b:%%~x!" if not "!$b!"=="000000000000" set "$$!$b!=!$a!") ::вывод заголовка в новый файл (echo:IP Машины Мак адрес& echo:)>"%LOG%" ::добавление IP/MAC в файл (с сортировкой) (for /f "tokens=1,2 delims==$" %%x in ('set $$') do @echo %%y %%x )|sort >>"%LOG%" |
|
------- Последний раз редактировалось amel27, 12-07-2011 в 08:43. Причина: комменты Отправлено: 06:19, 12-07-2011 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата root221:
|
|
------- Отправлено: 06:59, 12-07-2011 | #6 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата root221:
...можете проверить сами (без учета заголовка): |
|
------- Отправлено: 07:29, 12-07-2011 | #7 |
![]() Старожил Сообщения: 177
|
Профиль | Отправить PM | Цитировать
последние цифры ip адреса хотелось бы чтобы шли по порядку, как показанно в примере выше
|
Последний раз редактировалось root221, 28-02-2012 в 08:46. Отправлено: 07:30, 12-07-2011 | #8 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать root221, о том и речь, что сортировка может быть разной:
@echo off SETLOCAL EnableDelayedExpansion ::путь\имя лог-файла set LOG=arp.log ::сохранение IP/MAC в переменных $$* for /f "tokens=1,2" %%a in ('"(type "%LOG%"&arp/a)|findstr/brc:" *[0-9]""') do ( set "$a=%%a "& set "$a=!$a:~,15!"& set "$b=%%b"& set "$=" for %%x in ("-=" "a=A" "b=B" "c=C" "d=D" "e=E" "f=F") do set "$b=!$b:%%~x!" if not "!$b!"=="000000000000" (for %%x in (00!$a:.^= 00!) do set "$x=%%x"& set "$=!$!!$x:~-3!" set "$$!$!=!$a! !$b!")) ::вывод в файл (echo:IP Машины Мак адрес& echo: for /f "tokens=1* delims==" %%x in ('set $$') do echo %%y )>"%LOG%" |
------- Последний раз редактировалось amel27, 12-07-2011 в 08:32. Отправлено: 08:21, 12-07-2011 | #9 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата root221:
@echo off SETLOCAL EnableDelayedExpansion ::путь\имя лог-файла set LOG=arp.log ::сохранение IP/MAC в переменных $$* for /f "tokens=1,2" %%a in ('"(arp/a&type "%LOG%")|findstr/brc:" *[0-9]""') do ( set "$a=%%a "& set "$a=!$a:~,15!"& set "$b=%%b"& set "$=" for %%x in ("-=" "a=A" "b=B" "c=C" "d=D" "e=E" "f=F") do set "$b=!$b:%%~x!" for %%x in (00!$a:.^= 00!) do set "$x=%%x"& set "$=!$!!$x:~-3!" if not "!$b!"=="000000000000" if not defined $$!$! if not defined $_!$b! ( set $_!$b!=.& set "$$!$!=!$a! !$b!")) ::вывод в файл (echo:IP Машины Мак адрес& echo: for /f "tokens=1* delims==" %%x in ('set $$') do echo %%y )>"%LOG%" |
|
------- Последний раз редактировалось amel27, 13-07-2011 в 11:23. Причина: доработка Отправлено: 09:20, 13-07-2011 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Quake 3 server не максимально использует сеть. | naxaH | Игры | 0 | 07-06-2011 13:54 | |
[решено] Как получить MAC -адрес сетевой карты на удаленном компьютере | garanov | AutoIt | 2 | 16-12-2009 16:07 | |
Прочее - как получить доступ в городскую сеть | sergchopper | Сетевые технологии | 3 | 11-01-2009 12:35 | |
Как быстро просканировать сеть? | RasKolbas | Сетевые технологии | 5 | 25-03-2008 16:02 | |
Как запретить сканирующему сеть получить информацию обо мне? | pazdak | Microsoft Windows NT/2000/2003 | 9 | 03-04-2004 01:27 |
|