如何使用批处理文件通过本地计算机在服务器上打开cmd.exe?

时间:2015-10-09 10:06:24

标签: java batch-file

嗨朋友们我想在服务器上打开cmd。我的本地机器上有一个java代码,它在服务器上运行批处理文件(Run.bat),代码运行成功但是没有打开cmd.exe服务器,但每当我去服务器并双击服务器上的批处理文件时,它就会打开一个cmd。

提前致谢。

java代码:

ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c",
                    "F:\\Softwares\\PsTool\\PsExec.exe \\\\aa.aa.aa.aa -u Administrator -p 1234 \"c:\\batch\\Run.bat\"");


            builder.redirectErrorStream(true);
            Process p = builder.start();
            BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line;
            while (true) {
                line = r.readLine();
                if (line == null) {
                    break;
                }
                System.out.println(line);
            }

run.bat文件:

start cmd

1 个答案:

答案 0 :(得分:0)

非常简单。作为docs州:

  

默认情况下,子进程将标准输出和标准错误写入管道。 Java代码可以通过Process.getInputStream()和Process.getErrorStream()返回的输入流访问这些管道。但是,可以使用redirectOutput和redirectError将标准输出和标准错误重定向到其他目标。

简化:ProcessBuilder没有生成任何Console-Windows,而是简单地将任何命令的输出重定向到可以从javaapp读取的管道。