我正在使用 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();
}
}
我知道我们可以使用这个“hack”来跳过pause
批处理文件中的命令。但是,我的问题是我无法更改正在使用的任何批处理文件,也无法添加批处理文件来调用另一个批处理,如提供的链接中所示。
我想知道有没有办法指定进程跳过暂停命令?