繁体   English   中英

将变量传递给PowerShell

[英]Passing variable to PowerShell

我正在尝试将变量传递给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:找不到接受参数'“'的位置参数。

有什么想法吗?

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

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

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

    1. 逃离"与字符串中`和措辞变量()以确保阵列位置将采取在通知: -ArgumentList '\\disable', `"$($GPUList[1])`"

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM