【问题标题】:Escaping dollar sign in a wmi query filter在 wmi 查询过滤器中转义美元符号
【发布时间】:2016-06-10 20:18:26
【问题描述】:

我正在尝试查询名为 AOS60$01 的服务

get-service 'AOS60$01' 工作正常,但是当我使用时:

get-wmiobject win32_service -filter "Name='AOS60$01'" 它不返回任何内容。我假设它认为 $01 是一个变量并将其替换为一个空字符串,这就是它不起作用的原因。尝试用反斜杠转义美元符号,但没有成功。我该如何逃脱它?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    用反引号 ` 试试看:

    get-wmiobject win32_service -filter "Name='AOS60`$01'"
    

    【讨论】:

    • 单引号和双引号交替切换:get-wmiobject win32_service -filter 'Name="AOS60$01"'.
    【解决方案2】:

    当您使用双引号“$test”时,您将获得变量的值。当你使用单引号 '$test' 时,你会得到它。

    当您在字符串中使用单引号时,这两种方法中的任何一种都是合适的:

    ... -filter "Name='AOS60`$01'"
    

    这使用反引号`来转义它。

    或者,您可以使用单引号并将它们转义:

    ... -filter 'Name=''AOS60$01'''
    

    要转义单引号,请在其前面加上另一个单引号。

    【讨论】:

      猜你喜欢
      • 2021-04-25
      • 1970-01-01
      • 2015-06-17
      • 2021-07-01
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多