代码之家  ›  专栏  ›  技术社区  ›  Oddleif

用于的msbuild exec任务

  •  1
  • Oddleif  · 技术社区  · 16 年前

    我正在尝试将以下命令作为msbuild脚本的一部分运行:

    for /R . %f in (*.targets) do copy /Y "%f" "C:\Program Files (x86)\MSBuild\Microso
    ft\VisualStudio\TeamBuild"
    

    这些命令以如下方式在exec中实现:

    <Exec WorkingDirectory="$(SolutionRoot)" Command="for /R . %f in (*.targets) do copy /Y &quot;%f&quot; &quot;$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild&quot;" />
    

    该命令在控制台中工作正常,但在尝试从msbuild运行它时,我得到了错误:

    Task "Exec"
      Command:
      for /R . %f in (*.targets) do copy /Y "%f" "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild"
      f" "C:\Program was unexpected at this time.
    C:\Users\rd-build\AppData\Local\Temp\OH Test2\Continuous.BuildTargets\BuildType\TFSBuild.proj(98,5): error MSB3073: The command "for /R . %f in (*.targets) do copy /Y "%f" "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild"" exited with code 255.
    Done executing task "Exec" -- FAILED.
    

    有什么建议吗?

    2 回复  |  直到 13 年前
        1
  •  5
  •   kokeksibir    16 年前

    我刚刚在你以前的问题中解释过。在这种情况下,您需要在变量前面添加额外的百分比。在FOR命令的帮助下解释如下

    在批处理中使用for命令 程序,指定“%”变量而不是 %变量。

        2
  •  0
  •   Oddleif    16 年前

    必须使用%而不是%。