1.场景:
Windows bat读取每行第一、二、三列的内容,进行字符判断匹配并进行command调用
2.实现:
bat脚本
::关闭命令回显
@echo off
::日志目录创建
if not exist "C:\BPPMStatus_Check\%date:~0,4%%date:~5,2%%date:~8,2%" (md "C:\BPPMStatus_Check\%date:~0,4%%date:~5,2%%date:~8,2%")
::变量定义
set filename=C:\BPPMStatus_Check\pw_origin.txt
set logfile=C:\BPPMStatus_Check\%date:~0,4%%date:~5,2%%date:~8,2%\msend.log
::输出pw p l
call pw p l > %filename%
::文件读取,基于Number2和Number3字段进行!Not Running!判断
for /f "skip=7 tokens=1,2,3" %%a in (%filename%) do (
if "%%b %%c"=="!Not Running!" (
call msend -n pncell_bppm -q -a EVENT -m "%%a is down" -b "severity=CRITICAL;mc_host=1.1.1.1;mc_host_address=1.1.1.1"
echo %date% %time% msend -n pncell_bppm -q -a EVENT -m "%%a is down" -b "severity=CRITICAL;mc_host=1.1.1.1;mc_host_address=1.1.1.1" >>%logfile%
)