代码之家  ›  专栏  ›  技术社区  ›  Tare

如果存在,VisualStudio POST生成事件

  •  0
  • Tare  · 技术社区  · 8 年前

    我想在visual studio的后期构建步骤中调用批处理文件。本地存在批处理文件,只是命令

    call "$(SolutionDir)PostBuildSen.bat" "$(TargetDir)" "$(TargetName)"
    

    正确调用并执行批处理文件。

    但是,当我想检查批文件是否存在(因为其他人将使用相同的POST生成事件)时,我得到了错误。

    “VcEnter”退出代码255。

    命令是

    if exists "$(SolutionDir)PostBuildSen.bat" call "$(SolutionDir)PostBuildSen.bat" "$(TargetDir)" "$(TargetName)"
    

    诊断输出告诉我

    2>已完成执行任务“exec”--失败。

    你怎么处理?

    解决方案目录包含一个带下划线的文件夹,即。 \Dev_Main\ 我已经读过这个批处理文件,它至少不能被调用。但是我不确定这是否也是文件夹的问题以及如何处理它。而且,自从 call 命令有效,我不确定这是问题所在。

    此外,如果我替换 呼叫 具有 cmd /C 退出代码为1,输出(MIMAL)告诉我

    1>文件名、目录名或卷标语法不正确。

    此外,我将在稍后将此命令作为自定义命令添加到cmakelists文件中,因此解决方案需要使用此命令。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Tare    8 年前

    多亏了汉斯·帕桑的评论,我才解决了这个问题。对文件的查询需要 if exist 而不是 if exists 是的。