我正在尝试从Delphi 2007项目的后期构建事件中运行两个cmd文件。
构建事件的配置如下:
..\..\buildtools\postbuild.cmd $(OUTPUTDIR)$(OUTPUTNAME)
..\copydlls.cmd $(OUTPUTDIR)
第一个可以正常工作,第二个似乎从来没有被调用过。
如果我按照下面的顺序更改:
..\copydlls.cmd $(OUTPUTDIR)
..\..\buildtools\postbuild.cmd $(OUTPUTDIR)$(OUTPUTNAME)
再次强调,只有第一个被执行。
这是Delphi 2007的已知限制/错误吗?还是我在这里做错了什么? (我敢肯定过去这个功能是可以的。)
编辑:我找到了一个解决方法:
%comspec% /c ..\..\buildtools\postbuild.cmd $(OUTPUTDIR)$(OUTPUTNAME)
%comspec% /c ..\copydlls.cmd $(OUTPUTDIR)
这个按预期工作。仍然有点奇怪。
编辑2:在StackOverflow的这个答案中,我发现了另一个选项:
call ..\..\buildtools\postbuild.cmd $(OUTPUTDIR)$(OUTPUTNAME)
call ..\copydlls.cmd $(OUTPUTDIR)
我猜(没有尝试过)这只是一个问题,如果编译事件是cmd文件,而我之前提到的经验并没有调用cmd文件,而是可执行文件。