Показать полную графическую версию : [решено] Как вывести в лог значения из arp -a
Foreigner, а если не одна ?
Я, указал, две переменные, которые должны выходить в конфиг.
Желательно, чтобы переменные в конфиге, читались из указанных строк.
Например, со второй и 4-ей строки, а параметр который будет в первой и 3-й строке, не читались вобще, т.к это будет коментарий, к двум параметрам, указанных ниже.
LOG=arp.log
ARP=ON
; Мой комментарий 1
LOG=arp.log
; Мой комментарий 2
ARP=ON
for /f "tokens=* eol=;" %%i in (config.cfg) do 1>nul set "%%i"
Foreigner
16-07-2011, 07:16
root221,
Да хоть сто одна, все переменные определятся. Если есть комментарии, то прими поправку от Iska.
У меня есть такой интерестный скрипт, который обсуждали в другой теме, но напишу его сдесь, с надежной, что вы мне тут же и поможете, сделать для него конфиг.
И вот он:
(for /l %%a in (1,1,254) do Echo CreateObject^("WScript.Shell"^).Run "ping -w 100 -n 1 10.0.0.%%a",0
Echo WScript.Sleep^(3000^))>"%TEMP%\%~n0.vbs"
cscript /Nologo "%TEMP%\%~n0.vbs"
del "%TEMP%\%~n0.vbs"
пример
in (1,1,254) - 254 переписать в переменную и вывести в конфиг чтобы было вот так 10.0.13.254
10.0.13.%%a - ну и вот это, тоже в переменную. (А вот как сделать чтобы вот это число %%a было последним как выделенно в будущем конфиг файле)
например, чтобы я написал в файле конфига 254.254.254.254 и просканировались все 254.254.254.254 компьютеров.
Канечно же, как вы уже догадались, так я сканировать никогда небуду, просто я к тому, чтобы я мог в конфиге мог написать 10.0.13.254
и все компьютеры, c 1 по 254 просканировались, которые находятся в 13 подсети Это число тоже хотелось бы менять произвольно на другой номер подсети.
Как же это можно сделать, чтобы не писать отдельно число 254 в файле скрипта, создавая для него ещё одну переменную, внутри скрипта.
Вот так я бы хотел чтобы выглядел весь конфиг файл:
# Файл в котором хрянятся логи кэша
LOG=file.txt
# Вывод в консоль ON= Только компьютеры, которых в момент проверки небыло в кэше.
# Вывод в консоль OFF= Только компьютеры, которые есть в списке лог файла.
ARP=ON
# Адрес сканирования, ((254) - количество запросов).
10.0.13.254
В данны момент, пока что мозгов хватило только на:
# Файл в котором хрянятся логи из таблицы кэша
LOG=file.txt
# Вывод в консоль ON= Только компьютеры, которых в момент проверки небыло в кэше.
# Вывод в консоль OFF= Только компьютеры, которые есть в списке лог файла.
ARP=ON
# Адрес сканирования, ((254) - количество запросов).
IPAddr=10.0.13.
IPNum=254
Foreigner, Да хоть сто одна, все переменные определятся. Если есть комментарии, то прими поправку от Iska. »
Я только начал вникать, если что не так сказал, извини.)
твой скрипт работал, просто ошибки были, когда комментарии оставлял в конфиге, поэтому решил спросить, "а если не одна" =)
Foreigner
16-07-2011, 08:43
root221,
Подставь те переменные, что указаны в конфиге в батник, например:
@echo off
setlocal
for /f "tokens=* eol=#" %%i in (config.cfg) do 1>nul set "%%i"
(for /l %%a in (1,1,%IPNum%) do ... "ping -w 100 -n 1 %IPAddr%%%a ...
ЗЫ. А зачем vbs из батника? Ведь все это можно и без vbs
Я только начал вникать, если что не так сказал, извини.)
За что? Ты спросил я ответил.
Подставь те переменные, что указаны в конфиге в батник, например:
@echo off
setlocal
for /f "tokens=* eol=#" %%i in (config.cfg) do 1>nul set "%%i"
(for /l %%a in (1,1,%IPNum%) do ... "ping -w 100 -n 1 %IPAddr%%%a ... »
Вы мне ещё написали несовсем так, как я хотел, вы мне написали так, как у меня сейчас сделано, о чём я писал выше.
Config.cfg
Заметтьте, я хотел чтобы число писалось не отдельно, как у вас %IPNum%, а слитно вместе с IP
чтобы не так было:
IPAddr=10.0.13.
IPNum=254
а вот, так
IPAddr=10.0.13.254
Foreigner
16-07-2011, 13:35
потому что я просто обновляю арп кеш, т.к через vbs посылается разом 254 запроса а если через cmd то по 1-му каждые 100 милисекунд »
Единственный плюс для vbs -- не создаются окна. А пинг и в cmd идет одновременно по всем адресам:
for %%i in (ya.ru mail.ru google.ru) do start ping -n 11 %%i
»
Про такой приём я знаю, вот только 255 компьютеров вбивать в одну строку, я устану.
for /l %%a in (1,1,254) do ping -w 100 -n 1 10.0.0.%%a
255 окон открывается разом а через VBS этого невидно.
так что насчёт конфига ? его вобще можно сделать ?
хотябы
s=10.0.0.1
po=10.0.0.254
так что насчёт конфига ? »
пост #29 (http://forum.oszone.net/post-1714385-29.html)
вот конфиг
Код:
IPAddress=10.0.13.
IPCos=254
Ещё раз повторюсь, а хочу я, чтобы было именно так!
Код:
IPAddress=10.0.13.254 »
@echo off
for /f "tokens=*" %%i in (config.cfg) do set "%%i">nul
for /f "tokens=4 delims=." %%i in ("%IPAddress%") do set "IPCos=%%i"
set IP
pause
ip=10.0.13.254 »
было же вроде так:
Ещё раз повторюсь, а хочу я, чтобы было именно так!
Код:
IPAddress=10.0.13.254 »
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.