@Balkonsky

Как передать в переменную значение команды find в .bat файле?

Всем привет!
Суть программы:
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
  • Вопрос задан
  • 726 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Olgeir
ping 1.1.1.1 && echo OK || echo NO
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы