【发布时间】:2018-06-13 06:14:20
【问题描述】:
简短:我正在尝试在 ProcessBuilder 中运行命令:
public static String execute(String cmd) {
System.out.println(cmd);
ProcessBuilder builder = new ProcessBuilder("powershell.exe", cmd);
StringBuilder fullStatus = new StringBuilder();
String line = null;
Process reg;
builder.redirectErrorStream(true);
try {
reg = builder.start();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(reg.getInputStream()));
while((line = bufferedReader.readLine()) != null) {
fullStatus.append(line).append("\n");
}
reg.destroy();
} catch (IOException e1) {
e1.printStackTrace();
}
return fullStatus.toString();
}
如果我执行以下命令:
Get-WmiObject -Query " SELECT * FROM Win32_Printer WHERE Default=$true"
它会忽略我文件中的 "。
Get-WmiObject : Es wurde kein Positionsparameter gefunden, der das 参数“*”akzeptiert。在 Zeile:1 Zeichen:1 + Get-WmiObject -Query SELECT * FROM Win32_Printer WHERE Default=$true + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Get-WmiObject], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.GetWmiObjectCommand
我该如何解决这个问题?
【问题讨论】:
标签: java powershell