Вот моя проблема: я создал этот .bat-скрипт для отправки списка имен хостов в нашей среде. Все имена имеют аналогичное соглашение об именах, поэтому оно настраивается как type.site.countrycode (cc). Типы являются одинаковыми - tc1, tc2, tc3 и т. Д. Код места и страны вводится как переменные. Прямо сейчас, вы вводите сайт и cc, и он возвращает список типов и отображает, если они pingable или нет. Недавно я столкнулся с проблемами с DNS и не могу выполнить ping по FQDN, но могу выполнить ping с IP. Поэтому вместо того, чтобы возвращать IP для каждого, и THEN ping, я хочу, чтобы иметь возможность ping, а затем запустить nslookup на все, что установлено как вниз. Я пробовал все: от установки «вниз» в качестве переменной и запускать nslookup против переменной, я пробовал вложенный цикл, чтобы сделать это, а также findstr, чтобы найти «вниз», и установить их как переменную и так много других опций, из которых у меня заканчиваются идеи. Я собираюсь опубликовать код WORKING, просто пинговая коробки, и надеюсь, что любые методы, которые вы предлагаете, могут указать мне в правильном направлении. Заранее спасибо!!!.bat - Заполните ping и NSlookup в списке имен хостов и сообщите о результатах.
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)
)