【发布时间】:2016-12-01 16:15:09
【问题描述】:
Get-WmiObject -Class win32_logicaldisk -Filter 'DeviceID="C:"'
做我想做的,
$var="C:"
Get-WmiObject -Class win32_logicaldisk -Filter 'DeviceID="{$var}"'
什么都不做。我尝试更改引号、连接字符串和其他 1000 件事情,但它们没有用。为什么上面的例子不起作用,什么会起作用?
【问题讨论】:
-
-Filter "DeviceID='$var'"(注意过滤器字符串周围的双引号) -
@MathiasR.Jessen 如前所述,我试图颠倒引号,它不起作用
-
你真的试过了吗?在您的示例中,您将
{}放在变量周围,这肯定会使查询不返回任何内容 -
没有注意到
{}。现在它起作用了。我不敢相信这不是我尝试过的 1000 件事之一,因为我肯定尝试过'DeviceID="$var"',我认为' '和" "是一样的,但每一个都进去了另一个。不过,您知道为什么{}不起作用吗?我在字符串中使用了很多次{$var},但现在它不起作用。此外,您可以添加您的解决方案作为答案。 -
${var}会起作用,并产生字符串C:,但{$var}会产生字符串{C:}
标签: powershell