批处理:管道符号 | 有什么作用?

7

大家好,stackoverflow的用户们!

我并不是batch的新手。只是在batch中从来没有使用过管道符|,即使我已经在ss64.com上阅读了相关参考资料,我仍然不理解这个管道符具体是用来做什么的。

起初,我以为它是或运算符之类的东西(显然现在我知道它不是)。

我只知道它位于两行(命令)之间,就像&一样,但我仍然不明白它到底是做什么的,以及在代码中如何实际使用它。

谢谢你的回答!


你可以将一个命令的输出作为下一个命令的输入传递。 - Squashman
3
除了已经解释过的“pipeline”功能外,竖线在SET /A命令中也用作位运算的OR(或)运算符,例如:set /A "var=5 | 2" - Aacini
为了更加混淆,还有双竖线 ||。它用于条件执行。如果第一个命令失败,则执行第二个命令。 - Squashman
2个回答

11

管道 [|]: 将命令A的标准输出重定向到命令B的标准输入

http://www.robvanderwoude.com/redirection.php

例子:

echo KKZiomek | find "KKZ"

将输入中的echo KKZiomek重定向到FIND的第二个参数中使用。

正如@aschipfl所评论的那样,空格也会被传递。 因此最好使用:

echo KKZiomek| find "KKZ"

6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接