在VS2012中发布构建事件。运行批处理文件

时间:2013-04-24 07:06:47

标签: visual-studio-2012 build-automation

尝试在Visual Studio中的Post构建事件中运行批处理文件。

提及Can we execute a .bat file in post build event command line in visual studio?以供参考。

当我发布行

xcopy "$(ProjectDir)bin" "$(SolutionDir)Deploy\bin" /S in postbuild

我得到了预期的结果

同样的线路我放入了蝙蝠并尝试呼叫

call "$(SolutionDir)\Deploy.bat"

call "Physical path\deploy.bat"

我对代码感到兴奋1.我在这里做错了什么?

我可以在批处理文件中指定宏吗?

由于

1 个答案:

答案 0 :(得分:6)

您收到VS错误,因为它返回的退出代码不是0.这并不一定意味着存在错误。

返回的错误代码表示没有复制文件。 这些是Xcopy的返回码:

  • 退出代码
    • 0文件被复制且没有错误。
    • 1未找到任何文件要复制。
    • 2用户按下Ctrl + C终止xcopy。
    • 4各种错误,包括内存或磁盘空间不足,驱动器名称无效或语法无效。
    • 5发生磁盘写入错误。

在批处理文件中尝试此代码。使用/ Y以便您不必处理任何提示。您可以使用其他操作处理返回代码1或只返回0.

VS Post Build命令行代码:

CALL "$(SolutionDir)"Deploy.bat "$(ProjectDir)bin" "$(SolutionDir)Deploy\bin"

Deploy.bat文件

Xcopy %1 %2 /S /Y

If errorlevel 1 @exit 0