Visual Studio发布后事件(如果存在)

时间:2018-07-13 07:58:27

标签: visual-studio post-build-event

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

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

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

但是,当我想检查批处理文件是否首先存在时(因为其他人将使用相同的Post Build Event),我会收到错误消息

  

:VCEnd”,代码为255。

命令是

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

诊断输出告诉我

  

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

您如何处理?

解决方案目录包含一个带下划线的文件夹,即\Dev_Main\,对于已被调用的批处理文件,我已经阅读了该文件夹,至少该文件不起作用。但是我不确定这是否也是文件夹的问题以及如何解决。另外,由于call命令有效,所以我不确定这是问题所在。

此外,如果我将call替换为cmd /C,则退出代码为1,(最小)输出会告诉我

  

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

此外,稍后我会将其作为自定义命令添加到CMakeLists文件中,因此解决方案需要与此配合使用。

1 个答案:

答案 0 :(得分:1)

由于Hans Passant的评论,我解决了这个问题。文件查询需要为if exist,而不是if exists