【问题标题】:How to invoke a variable set to "C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" in batch file?如何在批处理文件中调用设置为“C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe”的变量?
【发布时间】:2021-08-15 20:53:16
【问题描述】:

有人可以修改以下代码,以使包含目录路径和 msbuild 可执行文件的变量被正确调用吗?

问题在于 C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe 中的间距

有人能告诉我在上述 msbuild 命令中包含空格的代码吗?

@echo ON SETLOCAL

set specificVersionedMsBuild=C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe

%specificVersionedMsBuild% /t:Clean 

【问题讨论】:

  • SETLOCAL 应该在不同的行上,或者用 & 号分隔。 set specificVersionedMsBuild=C:\Program Files (x86)\MSBuild\14.0\MSBuild.exe 应该是 set "specificVersionedMsBuild=C:\Program Files (x86)\MSBuild\14.0\MSBuild.exe"%specificVersionedMsBuild% 应该是 "%specificVersionedMsBuild%"
  • 如果我们要把所有的东西都分开@KJ,@echo ON,通常也是多余的,但是这两者都不是,或者使用SETLOCAL永远不会成为报告问题的潜在原因,我认为没有必要在这种情况下提及它。

标签: batch-file command escaping


【解决方案1】:

@Compo 谢谢你的评论,但这是我最终实现的:

set specificVersionedMsBuild=%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe
 
"%specificVersionedMsBuild%" /t:Clean

【讨论】:

    猜你喜欢
    • 2019-02-04
    • 2012-04-21
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 2020-01-08
    相关资源
    最近更新 更多