如何在Batch中匹配文本文件中的确切字符串?

时间:2018-04-06 06:09:57

标签: batch-file cmd

文字文件内容:

  

{“progress”:“30”,“type”:“info”,“message”:“检索特定网站   管理层的信息   系统 “},” 2。 “:{” 进步 “:” 2" , “类型”: “信息”, “消息”:“自动   安装   发起 “},” 5 “:{” 进步 “:” 20.25" , “类型”: “信息”, “消息”:“检查   连接到互联网和管理   系统 “}},” install_progress。 “:0,” LOGFILENAME “:” FWF_2018-4-5_12_58_57.log “},” 标记 “:” gDDJ7uZx“}

匹配字符串:Auto Install is completed

我正在使用此代码:

findstr /c "Auto Install is completed" "test.txt"

if %errorlevel%==0 (

    echo ERROR:Auto Install is completed!
    SET vaildJSONData=0

)

问题:即使此字符串不存在,上面的代码也会返回

请帮助我。

2 个答案:

答案 0 :(得分:1)

根据findstr的帮助:

  

/ C:string使用指定的字符串作为文字搜索字符串。

请在/c之后尝试使用冒号:

findstr /c:"Auto Install is completed" "test.txt"

如果你不这样做,它就会忽略/c

答案 1 :(得分:0)

FindStr可以完美地完成工作时,绝对不需要使用Find进行基本字符串搜索:

Find /I "Auto Install is completed"<"file.json">Nul&&(Set "validJSONData=0"
    Echo ERROR:Auto Install is completed!)