【发布时间】:2017-10-22 12:42:18
【问题描述】:
在我正在使用的程序中 r.exec(); 启动命令提示符并在其中执行一个 bat 文件。
但是发生的情况是,只要执行了上面的语句,cmd提示符就会启动并执行其中的bat文件。但是,java程序执行不会等到bat文件在提示符中执行。 它启动 cmd 提示符并开始执行其中的 bat 文件,并在 r.exec(); 之后继续执行下一条语句。(同时我的 bat 文件仍在提示符中执行)
我的要求是,java程序必须等到命令提示符中的bat文件执行完毕,而不是继续执行下一条语句。
【问题讨论】:
-
你的意思是
Runtime.exec()?如果是这样,则返回一个Process,您可以等待它完成。如果不是,请澄清r是什么。 -
是的,它的 Runtime.exec()。但是我怎么能等到执行完呢?
-
另请参阅When Runtime.exec() won't,了解有关正确创建和处理流程的许多好技巧。然后忽略它引用
exec并使用ProcessBuilder来创建进程。还将String arg拆分为String[] args以解决包含空格字符的路径之类的问题。
标签: java batch-file command prompt runtime.exec