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

use*_*567 4 build-automation visual-studio-2012

我试图在Visual Studio中的Post构建事件中运行批处理文件.

Referred 我们可以在visual studio中的post build事件命令行中执行.bat文件吗?以供参考.

当我发布线

xcopy "$(ProjectDir)bin" "$(SolutionDir)Deploy\bin" /S in postbuild
Run Code Online (Sandbox Code Playgroud)

我得到了预期的结果

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

call "$(SolutionDir)\Deploy.bat"
Run Code Online (Sandbox Code Playgroud)

要么

call "Physical path\deploy.bat"
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢

Sof*_*ter 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