Я пытаюсь запустить файл bat, который вызывает класс Java, я хочу продолжить взаимодействие с окном команд, предоставляя входные данные и читая выходные данные из окна команд, используя Java. Но я могу читать только первую строку командной строки и не знаю, как с ней взаимодействовать дальше. при выполнении командного файла он запрашивает у нас имя файла, после ввода имени файла запрашивает другие сведения
Попытка с использованием компоновщика процессов и утилиты plexus, я не могу понять, как запустить вторую команду после выполнения первой.
ниже изображения, если я делаю вручную, сначала он запрашивает каталог файлов,
Тогда мне подсказывают дату
Попробовал с помощью кода ниже
public class plexus {
public plexus() {
String batfile = "regression-test-runner-steadfast.bat";
String directory = "C:\\Dev\\temp\\IOS-automation-test\\Steadfast-UAT-Regression-Test-Runner-Client-dist";
try {
runProcess(batfile, directory);
} catch (CommandLineException e) {
e.printStackTrace();
}
}
public void runProcess(String batfile, String directory) throws CommandLineException {
Commandline commandLine = new Commandline();
File executable = new File(directory + "/" +batfile);
commandLine.setWorkingDirectory(directory);
commandLine.setExecutable(executable.getAbsolutePath());
commandLine.createArg().setValue("C:\\Users\\U399526\\Desktop\\SVU_XML\\Scenario 1");
WriterStreamConsumer systemOut = new WriterStreamConsumer(
new OutputStreamWriter(System.out));
WriterStreamConsumer systemErr = new WriterStreamConsumer(
new OutputStreamWriter(System.out));
int returnCode = CommandLineUtils.executeCommandLine(commandLine, systemOut, systemErr);
if (returnCode != 0) {
System.out.println("Something Bad Happened!");
} else {
System.out.println("Taaa!! ddaaaaa!!");
};
}
public static void main(String[] args) {
new plexus();
}
}