понедельник, 11 февраля 2019 г.

Два способа пингануть компьютеры в сети по списку имен

Как-то была необходимость пропинговать компьютеры в сети по сетевым именам по заданному списку. Я нашел два способа в интернете.

1. Первый способ использовать cmd файл, который я нашел на сайте Microsoft. Я его немного модифицировал для себя.  На разделе D:\ необходимо создать папку cmd. В этой папке создать три файла, cmd файл с именем ping2.cmd, текстовый файл с именем computers.txt – в нем мы будем подавать список сетевых имен компьютеров, и текстовый файл с именем pingme.txt – здесь будет вывод результата пинга.

Код cmd файла - ping2.cmd
@echo off

set fnm=D:\cmd\computers.txt
set lnm=D:\cmd\pingme.txt

if exist %fnm% goto Label1

echo.
echo Cannot find %fnm%
echo.
Pause
goto :eof

:Label1
echo PingTest STARTED on %date% at %time% > %lnm%
echo ================================================= >> %lnm%
echo.
for /f %%i in (%fnm%) do call :Sub %%i
echo.
echo ================================================= >> %lnm%
echo PingTest ENDED on %date% at %time% >> %lnm%
echo ... now exiting
goto :eof

:Sub
echo Testing %1
set state=alive
ping -n 1 %1
for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %1 ^| findstr [') do (
  set address=%%a
)
if errorlevel 1 set state=dead
if "%state%"=="dead" set address=Computer does not exist
echo %1 [%address%] is %state% >> %lnm%

2. Второй способ использовать программу PingInfoView от NirSoft. Скачать ее можно по этой ссылке.

2 комментария: