使用 windows 批处理在文本文件中搜索字符串
search a string in text file using windows batch
我正在尝试检查文本文件中的特定字符串 (Lost = 0
) out.txt
并将结果回显到文本文件取决于错误 level.If 该字符串是存在于文本文件中,我需要回显服务已启动,否则服务已关闭。
我正在使用下面的代码,但它不是 working.I 我总是退出 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)
您可以使用带有给定分隔符(在本例中为“=”)的 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”(前导 space),n 是 Lost.[=12= 的值]
我正在尝试检查文本文件中的特定字符串 (Lost = 0
) out.txt
并将结果回显到文本文件取决于错误 level.If 该字符串是存在于文本文件中,我需要回显服务已启动,否则服务已关闭。
我正在使用下面的代码,但它不是 working.I 我总是退出 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)
您可以使用带有给定分隔符(在本例中为“=”)的 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”(前导 space),n 是 Lost.[=12= 的值]