运行 通过 cmd 带引号的 powershell 命令
Run powershell command with quote marks via cmd
我需要通过 CMD运行 一个 powershell 命令
我的命令是
(Get-WmiObject -Class win32_pnpEntity -Filter 'Name like "ACPI Thermal Zone"')
[1].GetDeviceProperties().DeviceProperties |
Select-Object -Property keyName, data
我得到了成功的结果:
但是,当我尝试使用 cmd 运行 相同的命令时,我在查询执行中遇到异常。
它看起来像是命令中带有引号的东西。
cmd命令
powershell -command "(Get-WmiObject -Class win32_pnpEntity -Filter 'Name like "ACPI Thermal
Zone"')"
命令错误
请帮忙,我想念什么?
编辑
我尝试了双引号和转义字符,但没有成功
您可以在 CMD 级别 通过使用反斜杠 (\"
) 转义双引号来解决此问题:
PowerShell -command "Get-WmiObject -Class win32_pnpEntity -Filter 'Name like \"ACPI Thermal Zone\"'"
... 或者 WMI 查询也接受 single quotes for names in filters.
您也可以简单地避免 WMI 查询中的双引号,并在 PowerShell 级别 [=25] 中使用(转义的)单引号 (''
) 解决此问题=]:
PowerShell -command "(Get-WmiObject -Class win32_pnpEntity -Filter 'Name like ''ACPI Thermal Zone''')"
我需要通过 CMD运行 一个 powershell 命令
我的命令是
(Get-WmiObject -Class win32_pnpEntity -Filter 'Name like "ACPI Thermal Zone"')
[1].GetDeviceProperties().DeviceProperties |
Select-Object -Property keyName, data
我得到了成功的结果:
但是,当我尝试使用 cmd 运行 相同的命令时,我在查询执行中遇到异常。 它看起来像是命令中带有引号的东西。
cmd命令
powershell -command "(Get-WmiObject -Class win32_pnpEntity -Filter 'Name like "ACPI Thermal
Zone"')"
命令错误
请帮忙,我想念什么?
编辑
我尝试了双引号和转义字符,但没有成功
您可以在 CMD 级别 通过使用反斜杠 (\"
) 转义双引号来解决此问题:
PowerShell -command "Get-WmiObject -Class win32_pnpEntity -Filter 'Name like \"ACPI Thermal Zone\"'"
... 或者 WMI 查询也接受 single quotes for names in filters.
您也可以简单地避免 WMI 查询中的双引号,并在 PowerShell 级别 [=25] 中使用(转义的)单引号 (''
) 解决此问题=]:
PowerShell -command "(Get-WmiObject -Class win32_pnpEntity -Filter 'Name like ''ACPI Thermal Zone''')"