【问题标题】:Unable to execute a .bat file in post build event command line无法在构建后事件命令行中执行 .bat 文件
【发布时间】:2015-06-24 09:39:25
【问题描述】:

我的后期构建命令是

call "$(ProjectDir)MyFile.bat"

并得到构建错误:

错误 1 ​​命令“调用 C:\MyProject\MyFile.bat" 以代码 1 退出。C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets 4548 5

我在这里缺少什么?正在处理 TFS 源代码,这是出现此错误的原因吗?

对于MyFile.bat 中的测试,唯一的代码是mkdir MYTestFolder,但我也遇到了同样的错误。

【问题讨论】:

  • 这个问题似乎表明我的回答完全错误,但是我会说对批处理文件的调用正在运行,但是批处理失败了。 stackoverflow.com/questions/1491394/…
  • mkdir 不是一个完整的批处理命令。
  • 抱歉错字,我像mkdir MYTestFolder那样做的

标签: batch-file cmd msbuild post-build-event


【解决方案1】:

看来调用的语法是正确的。因此我相信它在批处理文件中失败了。我建议将批处理的前几行将时间写入日志文件,这样您就可以确认它被调用了。在任何实际工作之前执行此操作,这样可以确保批处理正在执行。

call "$(ProjectDir)MyFile.bat"

我的文件.bat

@echo off
echo time /t > MyTempFolderPath\logfile.txt

【讨论】:

  • 得到同样的错误.. 有必要在.bat 之前执行cmd.exe 吗? C:\Windows\System32\cmd.exe call MyFile.bat ??是吗?
  • 在 MyFile.bat 中进行测试,只有代码是 mkdir MyTestFolder 然后也会得到同样的错误
  • 我的想法为零。似乎一切都应该正常。
  • 这里一样 :( 我不知道如何以及在哪里进行故障排除:/
【解决方案2】:

失败的是批处理文件中的代码 - 它在做什么?

你有几个选择:

a - 我会使用进程监视器并观察进程退出并查看批处理文件启动的任何状态代码。

b - 您也可以尝试从与 msbuild 相同的文件夹中运行批处理文件,看看是否有任何错误

埃德

【讨论】:

  • 在 MyFile.bat 中进行测试,只有代码是 mkdir MyTestFolder 然后也会得到同样的错误
  • 我猜它找不到 MyFile.bat - 使用 procmon 并为“路径包含 MyFile.bat”设置一个过滤器 - $(ProjectDir) 可能根本没有解决,或者你在哪里认为是见:stackoverflow.com/questions/985900/…)
  • 在 procmon 中找不到文件 MyFIle.bat ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多