0

cygwin を使用して .exe をビルドしました。ms.exe と呼ばれます。ProcessBuilder を使用して Java から実行しようとしています。以前に ProcessBuilder を使用して、その出力をキャプチャしました。

コマンド ウィンドウ (cmd.exe) で、ms.exe [ms-params] > output.txt を実行すると、. 次に、出力に含まれるもの

/cygdrive/c/my-path-to-ms.exe [msparams]

【プログラム出力】

コマンド ウィンドウで、リダイレクトを何も渡さない場合、つまり > output.txt の場合、出力は [プログラム出力] のみで構成されます。

PATH 環境変数の下に %CYGWIN_HOME%/bin があることに注意してください。

ms.exe を使用して ProcessBuilder を呼び出すと (例外なしで) 終了しますが、出力として得られるのは

/cygdrive/c/my-path-to-ms.exe [msparams]

4

1 に答える 1

0

を使用ProcessBuilder("cmd.exe","/C","entire-exe-path-with-arguments")すると、実行可能ファイルが実行されます。

として使用すると機能する別の実行可能ファイルがありますProcessBuilder("exe-path","arg1","arg2"..)

前のexecuatbleがcmdの下でのみ実行される理由がわかりません。

どちらも cygwin を使用してビルドされています。cygwin1.dll を作業ディレクトリに配置しようとしましたが、何の効果もありませんでした。

于 2013-03-27T02:07:38.650 に答える