为什么我的exec()执行批处理命令的时候只能执行一般命令?

时间:2022-09-02 23:52:40
在程序中有一处需要调用外部的批处理命令
外部的批处理命令中大概有10行到20行的命令
用java 中的exec()执行这条批处理命令的时候只能运行前面大概1行,2行命令
这是怎么回事?

5 个解决方案

#1


ding

#2


ding

#3


调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例,该实例可用于控制进程或取得进程的相关信息. 由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream()方法重定向给它的父进程了.用户需要用这些stream来向 子进程输入数据或获取子进程的输出.

#4


Runtime.getRuntime.exec("some.bat");
你是这样的吗?

#5


Runtime.getRuntime.exec("cmd.exe /C some.bat");呵呵

#1


ding

#2


ding

#3


调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例,该实例可用于控制进程或取得进程的相关信息. 由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream()方法重定向给它的父进程了.用户需要用这些stream来向 子进程输入数据或获取子进程的输出.

#4


Runtime.getRuntime.exec("some.bat");
你是这样的吗?

#5


Runtime.getRuntime.exec("cmd.exe /C some.bat");呵呵