如何在单个终端中运行post build batch file命令?

时间:2013-11-27 13:39:37

标签: windows batch-file cmd iar

使用IAR Embedded Workbench IDE构建嵌入式项目时,我们使用具有多个后处理命令(ELF可执行解析器/过滤器)的批处理文件来生成最终的可加载图像。

问题在于,似乎每个工具调用都会打开一个新的终端窗口,在那里短暂运行并关闭,从而有效地消除了跟踪其消息的可能性。

将主批处理文件的输出定向到文件时,它只记录批处理文件的命令,但不会捕获由它调用的程序的屏幕输出。

尝试在批处理名称前加上cmd /k,例如:

cmd /k post_build.bat arg1 arg2 > out.txt

没有改变行为。

如何捕获程序的输出(没有重定向每个程序,因为它们有多个,它会使批处理文件混乱)?

更新:基本命令行如下所示:

post_build.bat arg1 arg2 > out.txt

尝试时,我尝试了以下变体:

post_build.bat arg1 arg2 > out.txt 2>&1
cmd /k post_build.bat arg1 arg2 > out.txt
cmd /k post_build.bat arg1 arg2 > out.txt 2>&1

批处理包含可执行程序的调用(不包括其他批处理文件)。这些程序根据arg*参数进行一些处理。一些程序生成输出到终端,以及处理其他文件。基本上,假设批处理文件如下所示:

prog1 arg1
prog2 arg2 out2
copy out2 out3
echo Done processing files!

1 个答案:

答案 0 :(得分:0)

你是否只尝试过:

post_build.bat arg1 arg2

作为post build命令?在我的情况下,似乎没有调用cmd