技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

java:Windowsバッチからの呼び出しで対話式で実行できることの確認

まあできますよね、という確認です。
これができるなら、ちょっとしたツールを作成する時に幅が広がります。
 
【ソース】
javaソースとWindowsバッチは同一フォルダに配置する。
 
javaソース(IOTest.java
import java.util.Scanner;

public class IOTest {
    public static void main(String[] args) {

    // Scannerクラスのインスタンスを作成
    // 入力としては標準入力(System.in)を指定する
    Scanner scanner = new Scanner(System.in);

    // 文字入力を促すメッセージ
    System.out.println("何か文字を入力してください");

    // 標準入力から文字取得
    String inputText = scanner.nextLine();

    //入力された文字を画面に表示
    System.out.println("入力された文字:"+inputText);

    // Scannerクラスのクローズ
    scanner.close();

  }
}
 
Windowsバッチ(IOTest.bat)
rem classファイルがなければ作成
if not exist IOTest.class (javac IOTest.java)

rem classファイル実行
java IOTest

pause
 
【バッチ実行結果】
「何か文字を入力してください」と出た時に、「moji」と入力してエンターを押下しています。
 
・実行結果
C:\tmp>rem classファイルがなければ作成

C:\tmp>if not exist IOTest.class (javac IOTest.java )

C:\tmp>rem classファイル実行

C:\tmp>java IOTest
何か文字を入力してください
moji
入力された文字:moji

C:\tmp>pause
続行するには何かキーを押してください . . .