嗨朋友们我想在服务器上打开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
答案 0 :(得分:0)
非常简单。作为docs州:
默认情况下,子进程将标准输出和标准错误写入管道。 Java代码可以通过Process.getInputStream()和Process.getErrorStream()返回的输入流访问这些管道。但是,可以使用redirectOutput和redirectError将标准输出和标准错误重定向到其他目标。
简化:ProcessBuilder
没有生成任何Console-Windows,而是简单地将任何命令的输出重定向到可以从javaapp读取的管道。