从其他系统java代码运行.bat文件

时间:2015-10-08 10:47:37

标签: java eclipse batch-file

我想通过eclipse java运行其他系统中存在的bat文件。如果bat文件在我们的系统中,则运行代码。

import java.io.IOException;
import java.io.InputStream;

public class batchFile_execution_throught_java {

public static void main(String[] args) {
     Runtime runtime = Runtime.getRuntime();
     try
     {

     Process p1 = runtime.exec("cmd /c C:\\Users\\root\\Desktop\\sample.bat");
     InputStream is = p1.getInputStream();
     int i = 0;
     while( (i = is.read() ) != -1)
     {
     System.out.print((char)i);
     }

     }
     catch(IOException ioException)
     {
     System.out.println(ioException.getMessage() );
     }
}

}

1 个答案:

答案 0 :(得分:1)

我的第一次尝试是在Windows中创建共享文件夹,因此您可以像现在一样访问远程文件:

 Process p1 = runtime.exec("cmd /c \\alias_of_folder\\sample.bat");

如果创建共享文件夹不是一个选项,那么您需要从Java应用程序打开与另一台计算机的连接。

  • OpenSSH网站的信息会在ssh中提供Java支持。
  • 同时选中JSch,然后选择examples
来自this answer

更新

  

您还可以将JschExpect4j结合使用,这样可以更好地控制您要执行的命令(nice example here)。