4

我试图在 Visual Studio 的 Post build 事件中运行批处理文件。

参考我们可以在 Visual Studio 的构建后事件命令行中执行 .bat 文件吗?以供参考。

当我发布线路时

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

我得到了预期的结果

我放入蝙蝠并尝试调用的同一行

call "$(SolutionDir)\Deploy.bat"

或者

call "Physical path\deploy.bat"

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

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

谢谢

4

1 回答 1

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"

部署.bat 文件

Xcopy %1 %2 /S /Y

If errorlevel 1 @exit 0

于 2013-04-24T14:34:53.900 回答