[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

批处理中管道作为子进程不能改变变量

可能是以前没仔细学吧,这次从bash 教程得知
  作为子进程的运行的管道,不能够改变脚本的变量.
  1 variable="initial_value"
  2 echo "new_value" | read variable
  3 echo "variable = $variable"   #variable = initial_value


测试了一下
echo  a|set b=1
echo %b%
set b=1|echo  a
echo %b%


都是显示%b%

[ 本帖最后由 523066680 于 2009-12-28 10:57 编辑 ]

上面管道另一端没有接收信息,我再测试了一下

(echo c &echo b)|for /f %a in ('sort') do set x=%a
回显说 x=b
然后说 x=c
但echo %x% 仍显示%x%

TOP

说的是俺不知道管道里面的命令是属于子进程呢。

TOP

返回列表