You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell函数参数为何合并?如何正确传递多参数?

PowerShell函数参数传递问题解答

1. 问题原因

PowerShell的函数调用逻辑和C#、Java这类语言不同,你写的SomeFunction("test","test2")里,括号内的"test","test2"会被PowerShell解析成一个Object数组,这个数组会被当作单个参数传给第一个形参$arg1,第二个形参$arg2因为没接收到对应值,自然就变成$null了。

简单来说:PowerShell里调用函数时,括号不是用来包裹多参数的,空格才是参数的分隔符。

2. 修复方法

有两种常用的正确写法:

  • 用空格直接分隔参数(符合PowerShell原生习惯,推荐使用):
    SomeFunction "test" "test2"
    
  • 使用命名参数传值(参数较多时更清晰,能避免参数顺序混乱):
    SomeFunction -arg1 "test" -arg2 "test2"
    

内容的提问来源于stack exchange,提问作者pf12345678910

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 16:12:34