【发布时间】:2018-02-23 23:20:26
【问题描述】:
我有一个带有 string[] 参数的 powershell 脚本,并尝试从批处理文件向它传递值
PowerShell 脚本
[string[]]$ScriptArgs
批处理文件
powershell -File Foobar.ps1 -ScriptArgs -versn="""1.0.0.0""",pattern="""FooBar.*"""
(3 个引号 - 用于转义/显示 1 个引号)
但不管我做什么Write-Host $ScriptArgs.Count 打印1
我希望变量接收 2 个元素
[0] 将是 -versn="1.0.0.0"[1] 将是 -pattern="FooBar.*"
在批处理文件中,我什至尝试单独设置变量
set @sArgs = -versn="""1.0.0.0"""
set @sArgs = %sArgs%;-pattern="""FooBar.*"""
powershell -File Foobar.ps1 -ScriptArgs %sArgs%
但是控制台以某种方式运行,就好像没有创建变量一样运行它
powershell -File Foobar.ps1 -ScriptArgs
并抛出错误
缺少参数“ScriptArgs”的参数。指定
System.String[]类型的参数,然后重试
我应该改变什么来实现这一点?
【问题讨论】:
标签: c# powershell cakebuild