Еще один скрипт, которым приходится периодически пользоваться — массовый пинг по списку. Но по закону подлости, когда он необходим, его под рукой не оказывается, и в голове он стирается к этому времени. Поэтому каждый раз сочиняю его заново, на что тратится время. Запишу здесь, отсюда точно никуда не денется.
Задача: пропинговать большое количество устройств в сети, список айпишников, которых находится во внешнем файле. Результатом проверки пусть будет какой-либо файл, в моем случае csv.
Привязываться к какой-либо программе нет желания, да и гибче в управлении bat-файл по итогу получается.
Текст bat-файла:
setlocal ENABLEDELAYEDEXPANSION
set «file=путь_до_файла\list.txt»
FOR /F %%x IN (‘findstr /B /V /C:# %file%’) DO (
ping %%x -n 1 | find «TTL=» > nul
if errorlevel 1 (
echo %%x offline
echo %%x;offline >> путь_до_файла\result.csv
) else (
echo %%x online
echo %%x;online >> путь_до_файла\result.csv
)
)
Косяк в Windows 7 — не могу запустить файл скрипт командой «Выполнить», приходится запускать через командную строку.
Файл list.txt простой:
192.168.0.2
#192.168.0.3
192.168.0.4
…
192.168.0.255
Файл result.csv. Его также можно открыть экспортом в Экселе и удобно редактировать. Закомментированные символом # строчки в list.txt в выходном файле игнорируются.
192.168.0.2;offline
192.168.0.4;online
…
192.168.0.255;online