Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Получить IP-адреса сайта (http://forum.oszone.net/showthread.php?t=317123)

El Scorpio 25-07-2016 02:40 2653815

Получить IP-адреса сайта
 
Задача: нужно получить список всех IP-адресов указанного сайта для создания маршрутов через нужный роутер.

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

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

greg zakharov 25-07-2016 06:40 2653821

Все нормально выводится через 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



Время: 00:10.

Время: 00:10.
© OSzone.net 2001-