如何使用java将参数传递给批处理文件中运行的程序?

时间:2016-05-04 06:57:29

标签: java windows batch-file

我正致力于自动化产品的数据库升级过程。 当前的做法是执行不同的可执行文件(e.x.CDXPatch.exe),这些可执行文件位于多个修补程序中。每个补丁都要求提供数据库凭据。

在自动化过程中,我发现我无法直接从processbuilder类执行CDXPatch.exe。因为它抛出无法打开CDXPatch.par文件。因此,我的Java程序开始编写一个批处理文件,在该文件中它将调用CDXPatch.exe,然后使用流程构建器类开始执行它。

在正在运行的批处理文件执行期间,此(CDXPatch.exe)在内部使用java控制台方法请求密码,并且还要求输入“按Enter键”或“键入Y并输入”。

我尝试了两种方法 : -

1)我通过写入连接到批处理文件输入流的outputStream来传递密码。 “这种方法使我无法创建安全的控制台错误。”

2)我写了一个VBScript,在批处理文件运行期间它将在CDXPatch.exe之后执行并将参数传递给它。

“VBScript将参数传递给CDXPatch.exe,但仅在开头。我不知道VBScript会等待CDXPatch.exe提示输入然后为其提供的方式。适当的。“

感谢您为帮助我做任何事情!

0 个答案:

没有答案