.bat — выполнить ping и NSlookup по списку имен хостов и сообщить о результатах.

Вот моя проблема: я создал этот .bat-скрипт для проверки связи со списком имен хостов в нашей среде. Все имена имеют одинаковое соглашение об именах, поэтому оно настроено как type.site.countrycode(cc). Типы все одинаковые - tc1, tc2, tc3 и т.д. Код сайта и страны вводится как переменные. Прямо сейчас вы вводите сайт и копию, и он возвращает список типов и отображает, доступны ли они для проверки связи или нет. Недавно у меня возникли проблемы с DNS, и я не могу выполнить ping по полному доменному имени, но могу выполнить ping по IP. Поэтому вместо того, чтобы возвращать IP-адреса для каждого и ЗАТЕМ пинговать, я хочу иметь возможность пинговать, а затем запускать nslookup для всего, что отключено. Я пробовал все: от установки полей «вниз» в качестве переменной и запуска nslookup для переменной, я пробовал вложенный цикл, чтобы сделать это, а также findstr, чтобы найти поля «вниз» и установить их как переменная и так много других вариантов, что у меня заканчиваются идеи. Я собираюсь опубликовать РАБОЧИЙ код простого пингования ящиков и надеюсь, что любые предложенные вами методы могут указать мне правильное направление. Заранее спасибо!!!

SET "site=%1"
SET "cc=%2"

if "%site%" equ "" (
   set /P "site=Site Number: "
   set /P "cc=Country Code (US if left blank): "
)
if "%cc%"=="" set "cc=us"
IF ERRORLEVEL 1 GOTO top
:startloop
set #=%site%
:subloop
set site=s0%site%
:reping
cls
echo Checking %site%.%cc%
echo.

for %%i in (tc1 tc2 tc3) do (
ping -n 1 -w 2000 %%i.%site%.%cc% >nul && (echo %%i is up) || (echo %%i is down)

)

person itsmrmarlboroman2u    schedule 02.11.2013    source источник


Ответы (1)


Возможно, что-то вроде...

    for %%i in (tc1 tc2 tc3) do (
    ping -n 1 -w 2000 %%i.%site%.%cc% >nul && (echo %%i is up) || (nslookup %%i.%site%.%cc%)

    )

?

Вы также можете передать команду nslookup другому пакетному файлу и запустить его потом... ping -n 1 -w 2000 %%i.%site%.%cc% >nul && (echo %%i up) || (nslookup %%i.%site%.%cc% >> nsbat.bat)

person wedwo    schedule 02.11.2013