• Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.

[CMD] Поиск слова в текстовом файле, и вывод его в результат.

serbahil

Новый пользователь
Сообщения
2
Симпатии
0
#1
Есть задание, которое каждый день выполняет на компьютерах пользователей команду:
wmic product get Name, InstallDate, Vendor > d:\file.txt
Нужен батник, который выполняет поиск заданного слова в текстовом файле, полученного в результате выполнения команды, и при успешном нахождении слова присвоить результату значение "1", а при неудачном значение "0", уже потом Zabbix получает эти значения от каждого компьютера в сети;
На данный момент код имеет такой вид:
CMD/BATCH:
@set word=autocad
@set file=D:\file.txt
@for /f "delims=" %%b in ('find /I "%word%" %file%') do @if "%%b"=="%word%" (set a=1) else (set a=0)
@echo %a%
Текстовый файл имеет такой:
InstallDate Name Vendor
20171023 InfraRecorder 0.53 (x64 edition) Christian Kindahl
20161017 SketchUp Import for AutoCAD 2014 Autodesk
20161017 Autodesk App Manager Autodesk
Суть в том, что в результат поиска записывается вся строка, и переменная %b будет принимать значение:
20161017 SketchUp Import for AutoCAD 2014 Autodesk
Соответственно при выполнении условия значение будет присвоено "0"
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,735
Симпатии
5,639
#2
Здравствуйте, @serbahil !

Добро пожаловать на SafeZone.

CMD/BATCH:
@echo off
SetLocal

set word=autocad
set file=D:\file.txt

type "%file%" | find /i "%word%" && set a=1|| set "a=0"

echo %a%

pause
 

serbahil

Новый пользователь
Сообщения
2
Симпатии
0
#3
спасибо
 
Последнее редактирование модератором:
Сверху Снизу