Всем привет!
Суть программы:
1. Делаем ping до удаленного хоста и записываем его в файл
2. Ищем в этом файле 3 слова "unreachable"
3. Если нашли 3 слова, то выполняются следующие команды:
tasklist/v >"C:\%date%_%USERNAME%_CPU_info.txt"
systeminfo >"C:\%date%_%USERNAME%_systeminfo.txt"
netstat -abno >"C:\%date%_%USERNAME%_netstat.txt"
pathping -n 8.8.8.8 >"C:\%date%_%USERNAME%_pathping.txt"
Подскажите, как выполнить поиск с передачей значение поиска в переменную для ее дальнейшего сравнения оператором if
Пока это реализовано так:
@echo off
setlocal enabledelayedexpansion
chcp 1251 >nul
:LOOP
echo [%DATE% %TIME%] >> "C:\%date:~-10%_%USERNAME%_logfile" & ping -n 1 8.8.8..8 | find /i "TTL=">nul >> "C:\%date:~-10%_%USERNAME%_logfile.log"
FIND /C "unreachable" <"C:\%date:~-10%_%USERNAME%_logfile"
if NOT %Здесь ПЕРЕМЕННАЯ из поиска% 3 (
echo PING - ok Packet Lost = %errorlevel%
)else (
echo [%DATE% %TIME%] Destination host unreachable >> "C:\%date:~-10%_%USERNAME%_logfile_"
echo NOT OK
tasklist/v >"C:\%date%_%USERNAME%_CPU_info.txt"
systeminfo >"C:\%date%_%USERNAME%_systeminfo.txt"
netstat -abno >"C:\%date%_%USERNAME%_netstat.txt"
pathping -n 8.8.8.8>"C:\%date%_%USERNAME%_pathping.txt"
rem ping -n %pause% 127.0.0.1>nul 2>&1
)
goto LOOP