java执行命令提示符问题

标签 java command execute prompt

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 产品获取名称,版本错误=123 在 java.lang.ProcessImpl.create( native 方法) 在 java.lang.ProcessImpl.(来源未知) 在 java.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");

关于java执行命令提示符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5521659/

相关文章:

java - 为字符串创建一个新行

java - 这两行的意思一样吗?

Unix Shell 脚本 : sleep command not working

linux - 如何使用 'cp' 命令排除特定目录?

powershell - 从Powershell运行jar文件

python - tkinter 左键单击 GUI 中的 TAB。如何检测用户何时执行此操作

PHP PDO 准备和执行 MySQL UPDATE 语句不起作用 - 难倒了!

java - 如何在没有请求的 servlet 的情况下在 jsf 托管 bean 中获取请求 url?

java - 包和类之间的名称冲突。 Eclipse 或 javac 中的错误?

c# - Brighter Consumer 消息未路由到处理程序