如何在 powershell 中调用 devenv.com? [复制]
Posted
技术标签:
【中文标题】如何在 powershell 中调用 devenv.com? [复制]【英文标题】:How to call devenv.com in powershell? [duplicate] 【发布时间】:2016-11-25 14:41:09 【问题描述】:我只想运行以下两行。
cd SomeDirectory
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com
Source\MySolution.sln /build Release /project Source\My\Setup\Project.vdproj
如果我将所有内容都用引号括起来,除了打印到控制台的字符串之外似乎什么都没有发生。
【问题讨论】:
【参考方案1】:在引用程序的路径来运行它时,您需要在前面加上&
:
& "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com" Source\MySolution.sln /build Release /project Source\My\Setup\Project.vdproj"
原因是PowerShell有两种不同的解析模式:命令模式和表达式模式。但是引用的字符串会切换到表达式模式,因此您明确需要调用运算符,&
。
另一件事:您可能必须为参数使用完整路径,因为 PowerShell 具有不同的当前目录概念,本机程序不共享。
【讨论】:
如何在 Source\MySolution.sln 中包含带有 "" 的完整路径? @Yiping:如有必要,您可以用引号括起来。请注意,PowerShell 仍将根据自己的规则解析参数并将参数引用到外部程序。使用--%
(参见Get-Help about_parsing
)会有所帮助。以上是关于如何在 powershell 中调用 devenv.com? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 PowerShell 中,如何在文件中定义函数并从 PowerShell 命令行调用它?
如何在调用其他 Cmdlet 的 Cmdlet 中支持 PowerShell 的 -WhatIf 和 -Confirm 参数?