我正在尝试将变量传递给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:找不到接受参数'“'的位置参数。
有什么想法吗?
答案 0 :(得分:0)
就像评论中已经指出的其他人一样,这里有两个问题:
您应该将字符串数组传递给-ArgumentList
。为此,您可以使用,
分隔参数。不是空格。
要用与您的$GPUList[1]
正确的对象"
来填充字符串,有两种方法可以用对象填充字符串:
使用"
对字符串中的`
进行转义,并对()
中的变量进行措辞,以确保注意数组位置:-ArgumentList '\disable', `"$($GPUList[1])`"
< / p>
使用位置引用填充变量:-ArgumentList 'disable', ('"{0}"' -f $GPUList[1])