【问题标题】:Executing Fortify commands with batch file使用批处理文件执行 Fortify 命令
【发布时间】:2017-04-24 16:16:55
【问题描述】:

我正在尝试通过批处理文件运行 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 插件没有 执行;因此,没有文件被翻译。确保慧与 已安装 Security 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 目录。

【问题讨论】:

    标签: windows batch-file cmd fortify


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      相关资源
      最近更新 更多