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

PowerShell中如何用数组生成多--input参数调用legacy命令foo

动态生成重复同名参数调用Legacy命令foo的PowerShell写法

你可以通过构造扁平参数数组的方式,自动为$my_args中的每个元素生成--input <value>参数对,写法简洁且适配任意数组长度:

方法一:分步构造(可读性优先)

# 遍历数组,为每个元素生成对应的--input参数对
$commandParams = $my_args | ForEach-Object { '--input', $_ }

# 调用foo命令,传入所有生成的参数和目标文件
foo @commandParams filename.dat

方法二:紧凑写法(一行完成)

foo (@($my_args | ForEach-Object { '--input', $_ })) filename.dat

原理说明

  • ForEach-Object { '--input', $_ }会遍历$my_args的每个元素,每次返回两个值:--input和当前元素,PowerShell会自动将这些值收集为扁平数组(比如三个元素会生成['--input','first','--input','second','--input','third'])。
  • 使用@commandParams(参数展开,即splatting)或直接传入数组,PowerShell会按顺序将数组元素作为命令参数传递,效果和手动逐个编写--input完全一致。
  • 若元素包含空格或特殊字符,PowerShell会自动处理引号转义,无需额外操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 12:17:41