Windows管道简单的问题

时间:2014-03-26 19:23:31

标签: windows cmd piping

我想这样做:

echo < test > | more

这没有用,所以我尝试了这个:

echo ^< test ^> | more

这不起作用

我做错了什么?

PS:我需要打印括号。它们是我需要的字符串的一部分。

2 个答案:

答案 0 :(得分:1)

如果没有正确解析转义字符串,则需要经过一些跳转。

for /f "delims=" %a in ("^< test ^>") do echo %a | more

答案 1 :(得分:1)

由于Windows CMD.EXE实现管道的方式,ECHO语句会被解析两次,因此必须对特殊字符进行两次转义。

echo ^^^< test ^^^> | more

请参阅Why does delayed expansion fail when inside a piped block of code?及所有答案,深入讨论管道的许多非直观特征。