Я пытаюсь выполнить некоторые операции с командной строкой через JAVA. Одна из моих команд требует ввода для завершения. Я не знаю, как пройти через java в середине выполнения команды.CMD операции через Java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class CommandLineMethods {
public static String executeCommand(String []command)
{
StringBuffer output = new StringBuffer();
Process p;
try{
p=Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while((line=br.readLine())!=null)
{
output.append(line + "\n");
}
}
catch(Exception e)
{
e.printStackTrace();
}
return output.toString();
}
public static void main(String...args)
{
String scriptsPath ="C:\\bip_autochain\\win64_x64\\scripts";
String scriptName="lcm_cli.bat";
String scriptArguments="lcmproperty C:\\TestNG_Auto\\resources\\LCMBiar_Import.property";
String []command = {"cmd.exe", "/c"," cd "+scriptsPath+" && "+ scriptName +" -"+scriptArguments};
String res = executeCommand(command);
System.out.println(res);
}
}
Последняя команда, выполняющая скрипт с некоторым аргументом, требует ввода для завершения. Как добиться этого?
попытка дать a '\ n', когда он запрашивает ввод. – bhansa
no it ничего не печатаю! Он ждет выполнения команды полностью перед печатью. но для этого требуется ввести между –
Возможный дубликат [Нажмите клавишу с Java] (http://stackoverflow.com/questions/11442471/press-a-key-with-java) – bhansa