2011-01-24 58 views
2

我正在研究將用於啓動其他應用程序的Java應用程序。現在,大多數人都有一個GUI,但有些是命令行工具。對於後者,我想打開適當的命令行並讓它們在那裏執行。在其自己的cmd.exe中運行工具

也就是說,在Windows上,我想打開cmd.exe,並使用適當的參數運行該工具。問題在於讓cmd.exe保持打開狀態。

當我使用的ProcessBuilder開始

cmd.exe /k java -version 

我獲得所需的輸出(I捕獲輸出流),但cmd.exe窗口是不可見的。

當我運行

cmd.exe /k start java -version 

cmd.exe窗口彈出的一瞬間,然後消失。

但是,當我剛剛運行cmd.exe /k start cmd.exe窗口出現並保持打開,而cmd.exe start不顯示窗口(如我所料)。

我想要的是讓命令行工具在自己的cmd.exe中運行並保持打開狀態以便輸入。

+0

[用cmd.exe啓動Java工具](http://stackoverflow.com/questions/4782129/starting-a-java-tool-with-cmd-exe) –

回答

0

這是使用答案"Starting a Java tool with cmd.exe"解決。我懷疑這些問題是分開的,但事實並非如此。

+0

你應該接受這個答案。 – Bernard

+0

我會的,但我目前不被Stack Overflow允許。 –

0

從cmd.exe運行此工作。

cmd start cmd /k java -version 

但是,這只是等待你運行更多的命令。

如果你想讓它等待用戶輸入使用

cmd start java MyProgramWhichWaitsForInput 
+0

這似乎不是做得很好。它只是打開一個新的cmd.exe,我得到正常啓動cmd.exe時得到的常規'Microsoft Windows [Version 5.2.3790]'等輸出。 –

+0

第一個例子顯示'java -version'輸出後面跟着'cmd.exe'提示符,這是我期望它讀取'help cmd'頁面所做的。如果你的意思是第二個例子,你可以發佈你的java代碼。 –

相關問題