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

如何生成可作为PowerShell脚本参数的整数列表?

解决方法

直接传递整数数组即可,无需转成字符串:

$objList = 100..120
extract e: $objList

如果手里只有空格分隔的字符串(比如从外部复制而来),可以先拆分再传递:

$objListStr = "100 101 ... 120"
extract e: ($objListStr -split " ")

若一定要通过字符串拼接的方式执行,也可以用Invoke-Expression(注意:该方式存在安全风险,仅在确认字符串内容安全时使用):

$objList = 100..120 -join " "
Invoke-Expression "extract e: $objList"

问题根源

你之前用-join " "把数组转成单个字符串后,PowerShell会将这个字符串作为一个整体参数传给脚本,但脚本的ItemID参数需要多个System.Int64类型的整数,因此触发类型转换错误。

而直接在命令行粘贴字符串时,PowerShell的交互式解析器会自动把空格分隔的内容拆分成多个独立参数,这是命令行输入的特性,但变量传递时不会自动执行拆分操作。

你尝试的@符号无效,是因为如果$objList是字符串,@($objList)只是将其包装为单元素数组,本质还是单个参数,并没有实现拆分。必须确保传递的是多元素的整数数组,或者将字符串拆分为数组后再传递。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:09:58