2

我有一个带有代码的bat文件:

echo Hello There > Result.txt
@exit 0

文件位于项目根目录中名为“batch”的文件夹中。

我在构建后事件中使用此代码调用它:

call "$(ProjectDir)batch\post.bat"

我正在使用@exit 0,否则我会得到错误代码1(我猜这告诉我该命令没有成功)。

当我双击 bat 文件或从 cmd 调用它时,它会创建一个文件。我需要做什么才能完成这项工作

编辑:伙计们,确保您的文件采用 ASCII 编码。我用 VS 创建了我的,默认情况下将编码设置为 UTF。

4

2 回答 2

4

更改批处理文件以接收 $(ProjectDir) 宏作为第一个参数,然后更改 PostBuild 事件以传递此宏

Post.bat

echo Hello There > %1%Result.txt
@exit 0

PostBuild 事件

call "$(ProjectDir)batch\post.bat" $(ProjectDir)batch\

您之前的命令失败,因为 postbuild 事件是在可执行文件的当前输出目录中执行的(通常是 BIN\DEBUG 或 RELEASE)。在上面的示例中,您可以轻松地检查添加一个重定向到 result.txt 的 dir 命令

于 2013-05-29T20:34:56.783 回答
0

检查文件的项目目录,因为批处理文件正在运行,但当前目录为 $(ProjectDir) 而不在批处理目录中。

于 2013-05-29T20:28:58.583 回答