次の方法で、メイン メソッドからバッチ ファイルを呼び出しています。
public static void main(String args[]){
Runtime rt=Runtime.getRuntime();
try {
Process pr=rt.exec("D:\\test1.bat");
pr.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
バッチファイルの内容は次のとおりです。
xcopy d:\a1 d:\a2
call C:\Java\jdk1.6.0_27\bin\java.exe -version >log1.txt 2>&1
実行時に、フォルダー a1 のファイルはフォルダー a2 にコピーされますが、log1.txt は生成されません。ただし、このバッチ ファイルをダブルクリックすると、ファイルがコピーされ、log1.txt が Java のバージョンで生成されます。