Java/kotlin打开一个本地exe并输入字符的一个问题

img


需要用Java/kotlin打开一个本地exe,然后在exe提示输入Y/N时,输入Y并回车,然后在exe运行完,提示输入Enter关闭时,关闭exe,这段代码该如何实现呢? 图片是exe运行时的图。 或者用脚本实现这个功能,我用java调这个脚本也可以

java的系统库里面找找,应该是有的

在java.lang.Runtime类中可以使用控制台指令。
使用Runtime.getRuntime方法获取对象。
调用对象的exec方法可以提交指令。
指令是一个字符串:
例如: cmd /c start xx.exe
如果需要指定特殊路径,可以带上路径+xx.exe
也可以使用exec的重载方法
传入参数cmd /c start xx.exe,null,new File(路径);

这里的cmd指得是运行cmd.exe,/c 值得是打开一个窗口不关闭。

不想说太多,你直接搜索 java 如何调用dos命令 搞定 ,

RunTime.getRunTime().exec("echo. | echo yes | xxx.exe")

原理就是用到管道符(将上个命令的结果 在下个命令中使用):这里的执行顺序就是 xxx.exe ---> yes ----> enter

  • 没记错的话,windos系统执行exe文件执行输入文件名就行了,linux是需要 后缀 xxx.后缀 的样子

用popen,打开进程后,读取新进程的输出,并给它输入

可以用java中的RunTime.getRunTime()来解决这个问题。

直接用Runtime类即可实现