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

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

Caliosto 15-10-2020 12:10 2936544

bat брал доменные имена и пинговал и выводил доменное имя - ip компьютера
 
Добрый день
очень срочно нужен BAT файлик, который делал бы следующее
Есть список доменных имен, например он будет в txt файле или в exel не критично
Нужно что бы bat брал доменные имена и пинговал их и по итоге был фаил с результатом где отображался бы доменное имя - ip компьютера

Я в другой ветке нашел bat но он делает не много на оборот
берет с файлика айпишники, но мне надо что бы он брал с файла доменные имена, а не айпишники. как его подправить ?

Было бы еще супер, если бы в случае если доменное имя не пингуется. то в файлике где отображается результат отображалось бы например доменное имя - узел не найден

Код:

@Echo Off
cls

chcp 437 >nul

Set "FileIp=ips.txt"
Set "FileOut=%~dpnx0.ips.txt"

Del "%FileOut%" 2>nul
FOR /F "usebackq" %%p IN ("%FileIp%") DO Call :Pinguin "%%p"

GoTo :Eof

:Pinguin
        Echo %~1
        Set "OutString="
        Set "OutTTL="
        FOR /F "usebackq skip=1 tokens=1,2,3,7 delims== " %%i IN (`ping -4 -n 1 -a %~1`) DO (
                If /I "%%k"=="[%~1]" Set "OutString=%%j %%k"
                If /I "%%l"=="TTL" Set "OutTTL=TTL"
                If /I "%%i"=="Reply" GoTo :Continue

        )
        :Continue
        If Not "%OutString%"=="" If Not "%OutTTL%"=="" Echo %OutString%>>"%FileOut%"
GoTo :Eof


Elven 15-10-2020 13:58 2936556

весьма приблизительно, не проверял
Код:

Set "FileIp=ips.txt"

FOR /F "usebackq" %%p IN ("%FileIp%") DO (
ping %%p > NUL && (
echo %%p avaliable  >> result.txt
)||(
echo %%p not avaliable >> result.txt
)
)

в подобном варианте будет ощутимый минус: на опрос каждого хоста будет уходить не менее 4 секунд (если хост недоступен - больше), а значит 10 хостов проверится за минуту, а 100 - уже минут за десять. Лучше пользовать posershell с вот этим вот модулем. Примеры есть здесь.


Время: 21:13.

Время: 21:13.
© OSzone.net 2001-