如何在PowerShell中将参数作为-file的一部分传递

MyDaft问题

如果我在PowerShell窗口中运行此行,它将执行完美

.\buildTestAndPublish.ps1 -buildPath 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0' -testPath 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow'

现在我需要使它自动化,但是我没有这样做

$pth = 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0'
$testPth = 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow' 
start-process powershell -Verb runAs -ArgumentList "-file $PSScriptRoot\AutomationScripts\buildTestAndPublish.ps1 -buildPath $pth -testPath $testPth"

找不到接受参数文件的位置参数

看起来好像在抱怨空白,但是经过搜索,我将它们用单引号引起来,并将它们作为变量传递(我在网上找到的建议)

我需要做什么?

mklement0

在可能包含空格的参数周围使用嵌入式双引号"..."逃避嵌入"`",因为`,该反引号字符[1] 是PowerShell的转义字符:

"-file $PSScriptRoot\buildTestAndPublish.ps1 -buildPath `"$pth`" -testPath `"$testPth`""

注意:*.ps1缩短路径以提高可读性。

:嵌入式-quoting( '...'没有在这种情况下工作,因为使用PowerShell的CLI与-File不承认单引号作为字符串分隔符; 相比之下,它们被识别为-Command[2]


请注意,您也可以将参数单独作为数组传递给-ArgumentList
但是,由于一个已知的错误, 仍然必须应用嵌入式双引号

Start-Process powershell -Verb runAs -ArgumentList '-file',
  $PSScriptRoot\AutomationScripts\buildTestAndPublish.ps1,
  '-buildPath',
  "`"$pth`"",
  '-testPath',
  "`"$testPth`""

[1]正式称为GRAVE ACCENT,Unicode代码点U+0060

[2]这样,您可以使用-Command代替来-File启用以下解决方案:
"-Command $PSScriptRoot\buildTestAndPublish.ps1 -buildPath '$pth' -testPath '$testPth'",但(a)'在文件名中是合法字符(而"不是),并且'文件名中的存在会破坏命令;(b)-Command将参数视为PowerShell代码,这可能导致其他不必要的解释(相反,-File将其参数视为literal)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过Rest调用在json中传递fk作为DerivedIdentities的一部分

如何传递String参数,使其成为类方法调用的一部分?

如何在Jgit中将文件列表作为提交的一部分

如何传递运行时参数作为依赖关系解决方案的一部分?

NSNotificationCenter将结构作为UserInfo的一部分传递

如何在Paw中将文件作为多部分请求的一部分上载?

将cookie作为node.js请求的一部分传递

如何在scikit learning中将参数传递给仅管道对象的一部分?

将对象作为ng-map标记的一部分传递

ASP.NET MVC传递参数作为url的一部分

如何通过Restful API传递object(json)的一部分

在作为回调一部分的嵌套函数中传递或访问变量

如何将列表的一部分传递给不同的变量?

如何在angularJs 1.5中将$ scope变量作为组件的templateUrl的一部分传递?

如何在SwiftUI中将View()作为列表的一部分传递?

作为ROBOT框架的一部分传递--form数据

VBA Word如何将数组的一部分传递给子例程?

如何在PHP中将“&”作为字符串的一部分传递?

如何传递会话ID作为Soap请求的一部分?

如何在余烬应用程序中将api密钥作为url的一部分传递

将数组作为对象的一部分传递给Ajax调用

将参数传递给别名,该别名是字符串的一部分

Django-作为包含的一部分传递flatpage.title变量

将 null 作为 vararg 参数的一部分从 Kotlin 传递给 Java 方法

Promise 作为 redux 状态的一部分

如何在基于非模板的页面(src/pages 的一部分)中将变量传递给 GraphQL

将参数作为查询字符串或 url 的一部分传递?

函数未作为本机反应中道具的一部分传递

将 --form 文件作为 ROBOT 框架的一部分传递

TOP 榜单

热门标签

归档