我想实现OutTo.cmd可以实现:
echo msg | OutTo.cmd var
echo %var%
msg
我在OutTo.cmd中的代码:
set /p %1=
@REM For check
echo %var%
当我跑步时echo msg | OutTo.cmd var
,控制台将显示
msg
这意味着“ msg”在OutTo.cmd运行期间成功保存到var中>
但是我跑了echo %var%
,控制台不显示任何内容,这表示在OutTo.cmd之后未定义var
但是如果我按如下方式运行OutTo.cmd:
OutTo.cmd var
并输入:
msg
OutTo.cmd完成后,var的值将保持不变:
echo %var%
显示
msg
我知道最简单的方法是:
echo msg > tmp set /p newvar=<tmp
所以我只是很好奇,如果我称它为什么批处理将保持可变但如果我将输出重定向到它,则不可以?
我想实现OutTo.cmd,它可以实现:echo msg | OutTo.cmd var echo%var%msg我在OutTo.cmd中的代码:set / p%1 = @REM运行echo msg时检查echo%var%| OutTo.cmd var,控制台...
在回显和要分配给变量的内容之间使用括号。