在结肠混淆了吗?

时间:2013-03-22 18:25:28

标签: batch-file findstr

如果我从cmd.exe运行:

findstr "\"A\" : \"B\"" c:\temp\sample.json

echo %errorlevel%

,sample.json的内容为

{
    "Abad" : "B"
}

errorlevel显示为0.

如果我用'。'替换':',我再次得到0.但是,如果我改为使用两个'。's:

findstr "\"A\" ..\"B\"" c:\temp\sample.json

findstr正确返回错误级别1.找不到的是什么?

1 个答案:

答案 0 :(得分:3)

RTFM。

如果字符串之间有空格,FINDSTR会查找string1 OR string2 OR string3 ...

您的FINDSTR因此正在寻找"A" : "B"

要查找包含空格的字符串,请使用(例如)

 findstr /c:"\"A\" : \"B\""