如何在批处理文件中调用设置为“C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe”的变量?

Posted

技术标签:

【中文标题】如何在批处理文件中调用设置为“C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\MSBuild.exe”的变量?【英文标题】: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永远不会成为报告问题的潜在原因,我认为没有必要在这种情况下提及它。 【参考方案1】:

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

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

【讨论】:

以上是关于如何在批处理文件中调用设置为“C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe”的变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 wpf 中获取 windowsApps 文件夹 (C:\Program Files\WindowsApps) 权限?

求教,如何用批处理将每个子文件夹下所有内容压缩为zip

如何使用 Mono/C# 程序调用 linux/c++ 函数?

可执行文件如何在父 CMD 或批处理上下文中设置环境变量?

无法加载文件 C:Program Files odejs pm.ps1,因为在此系统上禁止运行脚本。

Installshield2015 定制安装在C:Program files 目录 不正确问题