JavaProcess
クラスを使用していくつかのバッチ ファイルを実行しています。を使用しProcessBuilder
てプロセスを作成していますが、この部分は正常に実行されます。私の問題は、pause
実行中のバッチ ファイル内のコマンドを処理することです。コマンドは現在バッチのpause
実行を停止していますが、保留中の操作を再開できるようにバッチを終了する必要があります。現在、私はこれと同等のコードでバッチを開始しています:
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.List;
public class BatchEnter {
public static void main(String[] args) throws Exception {
List<String> params = Arrays.asList(new String[]{"cmd", "/C", "C:/test/test.bat"});
ProcessBuilder builder = new ProcessBuilder(params);
builder.directory(new File("C:/test")).redirectErrorStream(true);
Process p = builder.start();
BufferedReader wr = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while((line = wr.readLine())!=null){
System.out.println(line);
}
p.waitFor();
}
}
この「ハック」pause
を使用して、バッチ ファイルからコマンドをスキップできることは承知しています。しかし、私の問題は、使用しているバッチ ファイルを変更できず、提供されたリンクのようにバッチ ファイルを追加して別のバッチを呼び出すことができないことです。
一時停止コマンドをスキップするようにプロセスに指定する方法はありますか?