如何在批处理文件中调用设置为“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) 权限?
如何使用 Mono/C# 程序调用 linux/c++ 函数?