我正在尝试检查文本文件Lost = 0
中的特定字符串(out.txt
)并将结果回显到文本文件取决于错误级别。如果字符串存在于文本中文件,我需要回显服务,否则服务已关闭。
我正在使用下面的代码,但它不起作用。我总是以service is up
的形式离开。你能告诉我脚本的问题是什么吗?
echo off
findstr /c:"Lost = 0" "out.txt" >nul
if ERRORLEVEL 1 ( @echo service is up >result.txt
) else (
@echo service is down >result.txt)
答案 0 :(得分:0)
您可以使用for /F
检查匹配的字符串,而不是检查错误级别,并使用给定的分隔符(" ="在这种情况下):
@echo off
for /F "tokens=2 delims==" %%E in ('
findstr /c:"Lost =" "out.txt"
') do set str=%%E
if "%str%" == " 0" (echo service is up) else (echo service is down)
注意令牌和结果字符串。在你的情况下,第二个令牌是" 名词" (带前导空格)和n Lost 的值。