我正嘗試使用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);
}
任何輸入,將不勝感激。