Выполнение 2 команд в одной команде Java

Мне надо сначала зайти в дерикторию через cd, а потом вести длинную команду. Не могу понять как две команды совместить в одну. https://pastebin.com/Bqbeti0e Это как я выполняю команду, но без выбора дериктории

    ProcessBuilder processBuilder = new ProcessBuilder();
    processBuilder.command("cmd", "/c","длинная кмд");         Process process = processBuilder.start();

    printResults(process); public static void printResults(Process process) throws IOException {
    BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    String line = "";
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }
}

Ответы (1 шт):

Автор решения: Daniil Loban

Для того чтобы выполнить несколько команд из одной командной строки, нужно объединить их с помощью символа условной обработки:

  • команда1 & команда2 — Используется для разделения нескольких команд в одной командной строке. В cmd выполняется первая команда, затем вторая команда.

  • команда1 && команда2 — Запускает команду, стоящую за символом &&, только если команда, стоящая перед этим символом была выполнена успешно. В cmd выполняется первая команда. Вторая команда выполняется, только если первая была выполнена успешно.

  • команда1 || команда2 — Запускает команду, стоящую за символом ||, только если команда, стоящая перед символом || не была выполнена. В cmd выполняется первая команда. Вторая команда выполняется, только если первая не была выполнена (полученный код ошибки превышает ноль).

Таким образом комманды просто объединяются в одном билдере:

ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe","/c", "cd /d :D && Dir");
→ Ссылка