[英]java execute command prompt problem
public class CmdExec {
public static void main(String argv[]) {
try {
Runtime rt = Runtime.getRuntime();
StreamWrapper error, output;
String TEMP = "/output:C:\\InstallList.txt product get name,version";
System.out.println(TEMP);
CmdExec rte = new CmdExec();
Process proc = rt.exec("wmic");
proc = rt.exec(TEMP);
error = rte.getStreamWrapper(proc.getErrorStream(), "ERROR");
output = rte.getStreamWrapper(proc.getInputStream(), "OUTPUT");
int exitVal = 0;
error.start();
output.start();
error.join(3000);
output.join(3000);
exitVal = proc.waitFor();
System.out.println("Output: "+output.message+"\nError: "+error.message);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
得到异常:
java.io.IOException:CreateProcess:\\ output:C:\\ InstallList.txt产品获取名称,java.lang.ProcessImpl.create(本机方法)处的版本错误= 123,java.lang.ProcessImpl。(未知源)处.lang.ProcessImpl.start(未知源)在java.lang.ProcessBuilder.start(未知源)在java.lang.Runtime.exec(java.lang.Runtime.exec(未知源)在java.lang .Runtime.exec(未知源)位于CmdExec.main(CmdExec.java:20)
问题是您试图将"/output:C:\\\\InstallList.txt product get name,version"
作为命令执行,但无法正常工作。 (的确,对我来说这似乎是胡说八道。)
我希望您应该像这样执行命令:
rt.exec("wmic /output:C:\\InstallList.txt product get name,version");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.