0

我正在尝试在 PowerShell 中将变量传递给此命令

Start-Process $devconloc -ArgumentList "\disable" '"'$GPUList[1]'"' -ErrorAction Stop

$GPUList[0]是硬件 ID,需要devcon.exe在引号中传递:

"PCI\VEN_10DE&DEV_1CBB&SUBSYS_087D1028&REV_A1\4&44A1B07&0&0008"

但我收到以下错误

Start-Process:找不到接受参数“”的位置参数。

任何想法发生了什么?

4

1 回答 1

0

就像评论中已经指出的其他人一样,这里有两个问题:

  1. 您应该将字符串数组传递给-ArgumentList. 你可以通过用 . 分隔参数来做到这一点,。不是空格。

  2. 要在字符串周围$GPUList[1]正确填充对象",有两种方法可以用对象填充字符串:

    1. 使用转义"字符串中`的变量并将变量表示为 in()以确保将注意到数组位置:-ArgumentList '\disable', `"$($GPUList[1])`"

    2. 用位置参考填充变量:-ArgumentList 'disable', ('"{0}"' -f $GPUList[1])

于 2019-02-25T14:41:07.240 回答