批处理 - 为什么set / P与|的行为不同和<

时间:2018-04-02 12:40:54

标签: batch-file cmd

当用set / P读取stdin时,似乎从管道读取它不起作用,而从重定向读取它可以正常工作。这显示如下:

D:\>echo 1 >f1

D:\>echo 2 >>f1

D:\>type f1
1
2

D:\>type f1 | (set line1=&set line2=&set /P line1=&set /P line2=&set line)
line1=1
line2=

D:\>(set line1=&set line2=&set /P line1=&set /P line2=&set line)<f1
line1=1
line2=2

D:\>

为什么line2在一个案例中读取而在另一个案例中不读?

1 个答案:

答案 0 :(得分:0)

最初使用MC ND发表在评论中。

按原样发布相同的答案,这样就不会在未回答的问题中算出该问题,问题作者还在评论中确认MC ND的回答是正确的,并有所帮助。

我认为背景足够,这是评论。

  

您可以找到一种纯批处理方法here。可以在hereMC ND 4月2日22:03处找到一种混合方法