Board logo

标题: [其他] [已解决]请问批处理中管道的具体用法 [打印本页]

作者: sleepinglord    时间: 2010-8-27 23:43     标题: [已解决]请问批处理中管道的具体用法

我看到的所有批处理教程都写说:嗯,这个是把前一个命令的输出当做后一个命令的输入。
然后举例(大致差不多都是这样):dir /b | find "LOG"

我的问题:对于一般的情况。两个命令,前一个输出了一些结果。后一个接受若干个参数。
请问,管道会把前一个的结果当做后一个的哪个参数呢?
我写了几个.bat。发现“|”完全不能用。
//a.bat   输出aaa
@echo aaa

//b.bat   接受两个参数,简单输出之
@echo %1
@echo %2

//c.bat  用管道来试试看?
call a.bat|call b.bat bbb

你猜结果是
aaa
bbb
还是
bbb
aaa


自己试试看!?到底是怎么回事呢?

把c.bat写成
a.bat|b.bat bbb
的结果是一样的!

[ 本帖最后由 sleepinglord 于 2010-8-29 00:14 编辑 ]
作者: qq506657335    时间: 2010-8-28 10:17

楼主试下这两段就明白了
@echo off
del c:\*.tmp /p /s
pause


@echo off
echo y| del c:\*.tmp /p /s
pause
作者: qq106942397    时间: 2010-8-28 10:23

call是执行另一个P的意思
你要明白%0之%9的参数存在的意义呀

CALL的参数就是能传递过程中变量的参数
也就是说CALL并没有输出或直接输入任何也,你只能通过参数来传递变量

[ 本帖最后由 qq106942397 于 2010-8-28 10:25 编辑 ]
作者: sleepinglord    时间: 2010-8-28 13:58

大致明白了,提供运行时参数,而非编译时参数,似乎也不是很准确。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2