很抱歉,如果这是重复的,但没有其他解决方案。
我正在尝试编写一个Java应用程序,该应用程序将调用批处理文件,打印出该批处理文件在做什么,然后等待其完成执行,然后再执行其他任何操作。我已经读过,通过Process.getOutputStream()发送换行会触发“按任意键继续...”提示,但它对我而言并不是这样做。
这是我的test.bat:
@echo off
echo This is a test batch file.
echo This text should be readable in the console window
echo Pausing...
pause
echo done.
exit
这是我的Java驱动程序:
public class Tester {
String cmd[] = { "cmd", "/c", "C:/Test Folder/test.bat" };
BufferedReader in = null;
BufferedWriter out = null;
Process p = null;
在while循环中,它将打印出:
Starting process...
Started process 2018699554
INFO [2018699554] > This is a test batch file.
INFO [2018699554] > This text should be readable in the console window
INFO [2018699554] > Pausing...
而且永远不要传递暂停语句。我尝试重定向错误输出,发送VK_ENTER并发送随机密钥全部无济于事。
有任何想法吗?
慕哥9229398
相关分类