我偶然发现了一个奇怪的问题,即在Windows 10中的IAR Embedded Workbench 8.0的预构建或后构建操作中通过批处理文件调用时,命令行可执行文件(不是内置函数!)不会生成任何输出。
我做了一个简单的测试,其中IAR Pre-Build操作配置为运行pre_build.bat
:
批处理文件只包含以下行:
git status > c:\some_specific_directory\status.txt 2>&1
从PowerShell或cmd调用时,结果符合预期:git status
的输出存储在status.txt中。如果直接从IAR调用git(不调用批处理文件),git也会按预期工作。如果通过IAR预构建操作调用批处理文件,则status.txt为空。
此问题似乎会影响任何.exe文件的工具。到目前为止,我已经注意到where
,git
,python
的这种行为。
似乎这些命令在新的shell中打开(批处理文件中的命令越多,批处理窗口似乎会快速弹出并立即再次关闭)。
使用的版本:
答案 0 :(得分:0)
来自:IAR Tech Note Build Actions,您想要:
CMD / C" CMD / C" git status> c:\ some_specific_directory \ status.txt 2>& 1""