Windows命令行未执行多个命令

时间:2019-01-16 08:18:45

标签: windows batch-file command-line visual-studio-2017 cpputest

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

test.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

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

1 个答案:

答案 0 :(得分:1)

如果从批处理文件中调用批处理文件,则需要使用struct CastExC: protected CastExB, public CastExA<int> { virtual int h() override { return CastExB::h(); } }; ,否则将终止正在调用的批处理文件。

所以不是

vcvarsall.bat x86_amd64

您需要使用:

call vcvarsall.bat x86_amd64

如果call也是一个批处理文件,则也需要将其替换为devenv