C:\>type c:\output.txt
abcd
C:\>type c:\output.txt | set /p V1=
C:\>set
... A bunch of junk, NOT seeing "V1"
发生了什么?根据我所见的
SET
的所有文档,应该从上面为%V1%分配一个值“abcd”,不是吗?如果有问题,我使用的是Windows XP Pro,SP3。
最佳答案
管道似乎创建了一个新的CMD实例,以执行接收管道数据的下一个命令。因此,当管道结束时,该CMD实例将退出并且变量将丢失。
关于batch-file - 管道之后 "set -P"为什么不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3446972/