gpt4 book ai didi

java - 如何执行包含双引号的 PowerShell 命令

转载 作者:行者123 更新时间:2023-12-02 01:39:37 31 4
gpt4 key购买 nike

我正在尝试执行 PowerShell 命令(来自 JavaFx)来获取设备驱动程序版本。

我的问题是 PS cmdlet 中包含一些双引号。

运行命令

获取 WmiObject Win32_PnPSignedDriver|选择设备名称、驱动程序版本 |其中 {$_.devicename -like "*selectedDeviceName*"},

直接在 PS 中给出我期望得到的结果。但是(经过多次试验、错误和谷歌搜索)我对如何处理 cmdlet 中包含的双引号感到困惑。

以下是嵌入 PS cmdlet 的 JavaFx 方法:

public void getDriverVersionViaPowerShell() {

ProcessBuilder psProcessBuilder = new ProcessBuilder("/Windows/System32/WindowsPowerShell/v1.0/powershell.exe",

"Get-WmiObject Win32_PnPSignedDriver| select devicename, driverversion| where {$_.devicename -like "*selectedDeviceName*"}");


//some code...
}

"*selectedDeviceName*" 部分是我的问题。 selectedDeviceName 是一个字符串变量,其中包含我要获取其驱动程序版本的设备的名称。

我很高兴获得一些帮助来解决此问题。

提前感谢您的时间和帮助!!!

阿夫乔

最佳答案

"Get-WmiObject Win32_PnPSignedDriver| select devicename, driverversion| where {$_.devicename -like \"" + selectedDeviceName +"\"}"

您可以使用 \ 作为转义字符,以在字符串中包含双引号。输出将是:

Get-WmiObject Win32_PnPSignedDriver| select devicename, driverversion| where {$_.devicename -like "name of the driver"}

关于java - 如何执行包含双引号的 PowerShell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57496520/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com