ビジネスチャット、Web会議、ファイル共有、スケジュール管理を統合したグループウェア。IP Messenger 互換。

Java 外部コマンドを実行し3つの結果を取得

Java 外部コマンドを実行し3つ(標準出力、エラー出力、リターンコード)の結果を取得

Java でコマンドや、バッチ・シェル等の外部実行ファイルを起動するサンプルプログラムを紹介します。
また外部コマンド実行と同時に、メソッドのリタンーン値として標準出力エラー出力リターンコードを取得します。

通常、Javaで外部コマンドを起動する方法は以下の方法で行えます。
Runtime r = Runtime.getRuntime();
r.exec(“実行するコマンド名”);
また、起動した外部コマンドのリターン値を取得するには、java.lang.ProcessのwaitFor()を実行します。
Process p = Runtime.getRuntime().exec(“実行するコマンド名”);
int ret = p.waitFor()

サンプルプログラム

実行結果

◆実行例 ◆出力結果
----- 1. 引数なしで実行。
※helpコマンドを実行。
●[標準出力]
特定のコマンドの詳細情報は、"HELP コマンド名" を入力してください
ASSOC    ファイル拡張子の関連付けを表示または変更します。
AT       コマンドやプログラムを指定した日時に実行します。
ATTRIB   ファイルの属性を表示または変更します。
BREAK    拡張 CTRL+C チェックを設定または解除します。
CACLS    ファイルのアクセス制御リスト (
●[エラー出力]

●[リターンコード]
1

----- 2. 引数を指定して実行。
※helpコマンドの引数にdirを指定して実行。
●[標準出力]
ディレクトリ中のファイルとサブディレクトリを一覧表示します。

DIR [ドライブ:][パス][ファイル名] [/A[[:]属性]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]ソート順]] [/P] [/Q] [/S] [/T[[:]タイムフィールド]] [/W] [/X] [/4]

  [ドライブ:][パス][ファイル名]
              一覧
●[エラー出力]

●[リターンコード]
1

----- 3. バッチファイルを実行。
※さらにリターンコードを評価して処理を分岐する。
test.batは異常終了しています。[リターンコード]=9
※test.batの内容
echo test.batが実行されました。
echo エラーが発生しています。
exit 9