2013-08-19 108 views
1

运行nmake当我由一个在Windows命令提示符下运行以下命令之一,他们很好地工作。如何在一个bat文件

%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat"" 
cd C:\\Program Files (x86)\\Jenkins\\jobs\\gdal_win32_develop\\workspace\\codes\\deps\\gdal\\gdal_1.8_rtc 
nmake -f makefile.vc clean 
nmake -f makefile.vc 

当我写他们到一个bat文件,并尝试在Windows执行bat文件命令提示符,它只能输出的第一个命令,左三个命令不执行。

如何做到这一点?我需要这个,因为我想在一个Jenkins构建项目中运行它。

+0

你是如何检测的其他3个没有得到执行? – doctorlove

+0

我不知道,也没有更多的产出。 –

回答

7

替换线%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat""

CALL "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat" 

你是不知道的,但同时,第一键入命令行命令后,你得到的cmd.exe和next命令的新实例在这个新的实例是有类型。您将需要两个EXIT命令,退出命令提示符。

键入命令,你可以只输入"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat"代替%COMSPEC% ...,但在批量它会打破批量执行,所以你必须在前面加上CALL

+0

我读过这篇文章 http://bojan-komazec.blogspot.com/2011/10/nmake-and-its-environment.html 了解了很多,并且自己弄明白了。但我认为你的答案对许多新手来说要容易得多。谢谢。 –

0

尝试使用%comspec% /c ...,不%comspec% /k。看看cmd /?寻求更多帮助。而且,你不需要双反斜杠,一个就足够了。

+0

我试过/ c而不是/ k。但是,仍然有“NMAKE”不被识别为一个内部或外部命令, –

+0

入门NMAKE无法识别表明,它会尝试下一个步骤。在引用cd“C:\\ ...”中插入cd等等等等是否有所作为? – doctorlove