如果返回 false,FINDSTR 会跳过命令输出

问题描述 投票:0回答:1

我只是想了解

FINDSTR
是如何工作的。例如,我有以下(测试)批处理脚本:

set someText=hi
echo %sometext% | findstr /i /c:"hello"
if %errorlevel%==0 (
echo PASSED
) else (
echo NOT PASSED
)
pause

在此示例中,如果

someText
包含“hello”,例如“Hello, world!”,则输出将为:

Hello, world!
PASSED

但是如果

someText
不包含“hello”,它只会输出:

NOT PASSED

为什么?我的

echo %someText%
去哪儿了?以及如何恢复?

batch-file
1个回答
0
投票

命令中的

"|"
将标准输出从
echo
命令传递到
findstr
命令的标准输入。

输出“Hello, world!”匹配时看到的是匹配时

findtr
命令的标准输出。它不是
echo
命令的输出

© www.soinside.com 2019 - 2024. All rights reserved.