【发布时间】:2017-02-13 01:46:12
【问题描述】:
我正在尝试通过批处理文件调用 PS 脚本,就像这样
Powershell.exe -file "C:\Scripts\Blah\Blah\Blah.ps1" -webUID "usernameValue" -webPWD "passwordValue" -Param "param value" -Param2 "param 2 value"
问题似乎是批处理文件混淆了 Param 和 Param2。它认为我设置了 Param2 两次 但是 Param 和 Param2 完全是单独的参数。有没有人经历过这个?有没有办法明确说明参数名称?谢谢
参数块
# Parameters
Param
(
[string]$WebUID,
[string]$WebPWD,
[string]$Param,
[string]$Param2
)
【问题讨论】:
-
是否可能在参数definition中多次指定?你能告诉我们你的代码,或者至少
param()块吗? -
我添加到 OP。每个参数只指定一次。但是,当我从批处理调用中删除 Param 时,它可以工作。这就是为什么我认为它会将参数读取为通配符值并将 Param 与 Param2 混淆
-
如果在
Param()块之前添加[CmdletBinding()],它会改变什么吗? -
同样的错误信息:/
-
我无法在此处使用发布的代码复制它。批处理文件中一定有一些东西弄乱了参数。
标签: powershell batch-file parameters parameter-passing