我想在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文件中,因此解决方案需要与此配合使用。
答案 0 :(得分:1)
由于Hans Passant的评论,我解决了这个问题。文件查询需要为if exist
,而不是if exists
。