1

我正在通过命令行构建一个 Visual Studio 项目,因为我需要一次运行多个命令。所以我创建了一个包含所有命令的批处理文件。当我运行批处理文件时,只执行第一个命令。我的批处理文件是下面给出

测试.bat

C:
cd C:\Program Files (x86)\Microsoft Visual 
Studio\2017\Community\VC\Auxiliary\Build 
vcvarsall.bat x86_amd64
devenv D:\Jenkins\cpputest-master\cpputest-master\CppUTest.sln /Build
D:
cd D:\Jenkins\cpputest-master\cpputest-master\cpputest_build
mv AllTests.exe D:\Jenkins\jenkinsHome\workspace\TestCppUTest
cd D:\Jenkins\jenkinsHome\workspace\TestCppUTest
AllTests.exe -ojunit

当我运行这个批处理文件时,前三个命令被执行,第四个命令没有被执行。但是如果我使用 && 运行这些命令,所有的命令都会被执行。有什么建议吗?

4

1 回答 1

1

如果您从批处理文件中调用批处理文件,则需要使用,call否则您的调用批处理文件将被终止。

所以而不是

vcvarsall.bat x86_amd64

你需要使用:

调用vcvarsall.bat x86_amd64

如果devenv也是一个批处理文件,那么它也需要替换call devenv为。

于 2019-01-16T08:57:08.750 回答