我想通过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() );
}
}
}
答案 0 :(得分:1)
我的第一次尝试是在Windows中创建共享文件夹,因此您可以像现在一样访问远程文件:
Process p1 = runtime.exec("cmd /c \\alias_of_folder\\sample.bat");
如果创建共享文件夹不是一个选项,那么您需要从Java应用程序打开与另一台计算机的连接。
来自this answer的更新:
您还可以将
Jsch
与Expect4j
结合使用,这样可以更好地控制您要执行的命令(nice example here)。