使用批处理文件

时间:2017-04-24 16:16:56

标签: windows batch-file cmd fortify

我正在尝试通过批处理文件运行Fortify命令。通常在运行强化扫描时,我通过命令行使用这三个不同的命令:

sourceanalyzer -b buildId-clean

sourceanalyzer -b buildId devenv "mysolution.sln" /Rebuild Debug 

sourceanalyzer -b buildId -scan -f "mysolution.fpr" -format fpr

现在,在运行第二个命令时,您需要devenv才能完成翻译。称之为最好的方法是什么?我在批处理文件中运行命令之前尝试运行VsDevCmd.bat,但结果是:

ERROR: Cannot determine the location of the VS Common Tools folder.

这甚至将.bat文件放在同一目录中我称之为强化批处理文件。

我也叫devenv.com但是得到了这个错误:

  

[错误]:Visual Studio的HPE Security Fortify加载项没有   执行;之前,没有翻译过的文件。确保HPE   安装Fortify加载项已安装。如果您正在运行Visual Studio   2005 SP1,您还必须安装KB934517指示的修补程序。

这是批处理文件命令:

set SOURCEANALYZER=sourceanalyzer
set BUILDID="buildId"
set DEVCOMMAND="devenv.com"
set SOLUTIONFILE="mysolution.sln"
set ARGS="/Rebuild Debug"

%SOURCEANALYZER% -b %BUILDID% %DEVCOMMAND% %MYSOLUTION% %ARGS%

我的VsDevCmd.batdevenv.com来自 VS2015 目录。

1 个答案:

答案 0 :(得分:1)

根据我的理解,在通过命令行运行时,devenv参数有三个选项:

  1. 使用devenv.exe文件的完全限定路径,通常位于C:\Program Files (x86)\Mircosoft Visual Studio x.0\Common7\IDE\devenv.exe
  2. 在常规命令行窗口中,在运行vsvars32.bat命令之前调用sourceanalyzer,将一些局部变量(例如devenv)设置为正确的路径。此文件位于‪C:\Program Files (x86)\Microsoft Visual Studio x.0\Common7\Tools\vsvars32.bat
  3. 通过Visual Studio Developer命令提示符运行sourceanalyzer命令。这与打开传统命令行窗口并执行vsvars32.bat
  4. 相同

    如果执行选项2或3,您将能够在devenv命令中简单地使用变量sourceanalyzer,而选项1将需要命令中的硬路径,但可能有用如果需要指定要使用的构建版本的Visual Studio。