ProcessBuilder 向命令行添加额外的引号
2022-09-04 06:34:03
我需要使用 ProcessBuilder 构建以下命令:
"C:\Program Files\USBDeview\USBDeview.exe" /enable "My USB Device"
我尝试使用以下代码:
ArrayList<String> test = new ArrayList<String>();
test.add("\"C:\\Program Files\\USBDeview\\USBDeview.exe\"");
test.add("/enable \"My USB Device\"");
ProcessBuilder processBuilder = new ProcessBuilder(test);
processBuilder.start().waitFor();
但是,这会将以下内容传递到系统(使用系统内部进程监视器进行验证)
"C:\Program Files\USBDeview\USBDeview.exe" "/enable "My USB Device""
请注意 前面的引号和 之后的两个引号。我需要删除那些额外的引号,因为它们会使调用失败。有人知道如何做到这一点吗?/enable
Device