标题: [已结]如何捕获标准输出到变量,管道好象不行
[打印本页]
作者: oneday
时间: 2007-8-27 19:11
标题: [已结]如何捕获标准输出到变量,管道好象不行
我主要是想将外部程序do.exe(dos不能完成的所以要调用外部)的输出赋值给变量a,不知怎么好?
开始还想当然:
set /p a=do.exe //好笑吧
后来:
do.exe | set /p a=
还是不行
各位尝试的时候可以用echo代替do.exe,一样是标准输出
echo love | set /p a=
想将love赋值给a,不成功?
[
Last edited by HAT on 2008-10-27 at 16:25 ]
作者: sonicandy
时间: 2007-8-27 21:28
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('do.exe') do set a=%%i
echo !a!
作者: mistysun
时间: 2008-10-27 16:03
这个问题最后是怎么解决的呢?
我很想知道。
作者: mistysun
时间: 2008-10-27 16:03
我指的是do.exe带参数的时候如何解决?
作者: lxmxn
时间: 2008-10-28 13:51
Quote: |
Originally posted by mistysun at 2008-10-27 16:03:
我指的是do.exe带参数的时候如何解决? |
|
带参数也一样的道理,如果参数中有如(|、&)等特殊字符,需要用^先转义一下。
for /f "tokens=*" %%a in ('do.exe /your_parameters') do set var=%%a
echo %var%