Войти

Показать полную графическую версию : Получить IP-адреса сайта


El Scorpio
25-07-2016, 02:40
Задача: нужно получить список всех IP-адресов указанного сайта для создания маршрутов через нужный роутер.

К сожалению команда for /F %i ('nlookup ИМЯ_САЙТА') do route add %i МАРШРУТИЗАТОР не подходит, потому что nslookup выдаёт много лишнего текста. К тому же в обработку не попадает первый IP-адрес.
Есть ли у nslookup параметр, позволяющий отображать ТОЛЬКО найденные адреса? Или есть аналогичная консольная команда?

Требование по совместимости - для всех версий Windows, начиная с XP.

greg zakharov
25-07-2016, 06:40
Все нормально выводится через for, просто сам nslookup выводит строки с айпишниками в виде массива строк.
@echo off
setlocal enabledelayedexpansion
set "i=0"
for %%i in (%*) do set /a "i+=1"
if 1 neq %i% goto:man
for /f "tokens=1,* delims=: " %%i in (
'2^>nul nslookup "%~1"^|findstr /rc:"[0-9]*,"'
) do (
set "arr=%%j"
set "arr=!arr: =!"
for %%k in ("!arr:,=";"!") do echo:%%~k
)
endlocal
exit /b

:man
echo:Usage: %0 [DOMAIN]
echo:.e.g.: %0 ya.ru
echo: 93.158.134.3
echo: 213.180.204.3
echo: 213.180.193.3
exit /b




© OSzone.net 2001-2012