我正尝试使用Java与使用psexec在远程服务器上执行命令的大批处理文件进行交互。在远程服务器上以Java运行批处理文件
我可以使用进程生成器启动文件,它对大多数命令都可以正常工作,但似乎会挂起。从批处理文件
一个特定的命令如下:
ECHO .
Echo Which would you like to reboot?
Echo 1-10. For computers, enter computer number.
Echo E. Exit
set /p userinp=choose a number(0-22):
但是从Java我得到: 。 你想重新启动一个? 1-1035。对于电脑,输入电脑号码。 E.退出
,然后将其挂
这显然不是读书的集线,但更重要的是我还没有想出如何通过输入回子。
String[] command = {"cmd", "/c", "batchfile", "restart"};
ProcessBuilder builder = new ProcessBuilder(command);
builder.directory(new File("C:\\"));
Process process = builder.start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
任何输入,将不胜感激。