Board logo

标题: [其他] 能否将一个bat的输出重定向到一个变量里? [打印本页]

作者: sleepinglord    时间: 2010-8-27 21:29     标题: 能否将一个bat的输出重定向到一个变量里?

类似这样(下面这些只是示意,肯定无法运行)。
//a.bat
echo aaa

//b.bat
set p = < (call a.bat)
echo p

我能想到的办法是:
for /f %%i in ('你的程序') do set var = %%i

但是这么写实在很二不是么?

[ 本帖最后由 sleepinglord 于 2010-8-27 21:33 编辑 ]
作者: rogue_1983    时间: 2010-8-27 23:23     标题: 你表达的不清楚!

敢问楼主,你是想把bat里面的内容重定向到一个变量,还是调用bat执行以后的结果重定向到一个变量?

[ 本帖最后由 rogue_1983 于 2010-8-27 23:25 编辑 ]
作者: sleepinglord    时间: 2010-8-27 23:25

是结果。

嗯,我发现如果用for,那么echo会继续起作用,这导致会echo出所有的中间结果。
作者: rogue_1983    时间: 2010-8-27 23:27     标题: 回复 3楼 的帖子

如果bat里面的命令是md c:\1 ,那么当你调用bat执行完了以后, 那结果是在c:\ 里建立了一个文件名是1的文件夹, 那么你能把这个结果重定向到一个变量里吗?
作者: sleepinglord    时间: 2010-8-27 23:35

嗯,我是希望把一个命令的输出,即通过echo显示在console上的部分,重定向到一个变量里。
作者: rogue_1983    时间: 2010-8-28 00:06     标题: 回复 5楼 的帖子

这个应该可以吧, 希望有高手站出来伸张正义
作者: qq106942397    时间: 2010-8-28 09:21

可以的方法是用FOR 生成临时文件
就是不可以直接给变量
要一定的转换过程




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