В настоящее время я делаю сценарий летучей мыши, чтобы пропинговать хост и вернуть процент потери пакетов, а также среднее значение ms.
Я использую for/f для получения результатов.
Единственное, потеря пакетов и avg ms находятся на двух разных линиях.
Поэтому я использую подвызовы и findstr, чтобы установить переменную для каждого.
Но когда я снова пытаюсь вызвать переменную, она включает все параметры для команды findstr.
Что я могу сделать?
Вот код:
@echo off
SETLOCAL
SET PingCMD=ping.exe -w 300 -n 1 127.0.0.1
FOR /f "tokens=3,6,9,10,11,12 delims=," %%A IN ('%PingCMD%') DO (
call :GetLoss %%A
call :GetAvg %%A
)
echo PacketLoss %loss% Average %avg%
pause
:GetLoss
SET loss=%1 %2 %3 %4 ^| findstr "loss tab"
GOTO :eof
:GetAvg
SET avg=%1 %2 %3 ^| findstr "Average Gennemsnit average gennemsnit"
GOTO :eof
EndLocal