【问题标题】:WMI query escape single quoteWMI 查询转义单引号
【发布时间】:2018-03-19 03:18:59
【问题描述】:
string dirName = @"D:\Test't";
string qry = "associators of {Win32_Directory.Name='" + dirName + "'} where assocclass = Win32_SubDirectory ResultRole = PartComponent";

在执行上述 WMI 查询时,我收到 Invalid object path 异常。如何在 WMI 查询中转义单引号?

【问题讨论】:

  • 如果是你自己创建的文件夹,重命名去掉单引号。
  • 试试这个:string dirName = "D:\\Test\'t";
  • @GaurangDave 不工作。
  • 如果@,或使用反斜杠不起作用,您还有另一个问题。检查“qry”字符串,并尝试在您的应用程序之外手动运行它
  • 你需要什么?我的意思是这样做的目的是什么?通过在此处粘贴两行,很难找出您想要的内容。请编辑您的问题并提供更多详细信息

标签: c# wmi wmi-query


【解决方案1】:

我遇到了同样的问题,但我使用的是 VBScript,我使用的查询如下所示:

qry = "Associators of {Win32_Directory.Name='" & dirName & "'} Where AssocClass = Win32_Subdirectory ResultRole = PartComponent"

我将其更改为以下内容并解决了问题,我只是将单引号更改为双引号,但我必须将双引号加倍,因为这是在 VBScript 中转义双引号的方式。

qry = "Associators of {Win32_Directory.Name=""" & dirName & """} Where AssocClass = Win32_Subdirectory ResultRole = PartComponent"

【讨论】:

    猜你喜欢
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    相关资源
    最近更新 更多