запуск командного файла через Java-программу - PullRequest
1 голос
/ 10 ноября 2010

Я хочу запустить командный файл через Java-программу.Сам пакетный файл запускает исполняемый файл с некоторым именем файла в качестве аргументов.Я попробовал это, создав C-программу и запустив этот exe-файл через Java.Есть ли другой способ запустить пакетный файл, который сам запускает исполняемый файл через Java.Заранее спасибо ...

Ответы [ 4 ]

2 голосов
/ 10 ноября 2010

Вы можете использовать Runtime.exec и передать его cmd /c /path/to/your/batch/script.

Начиная с Java 1.5, вы также можете использовать ProcessBuilder.

 Process p = new ProcessBuilder("cmd", "/c", "/path/to/batch/file").start();

Документация API для ProcessBuilder описывает более сложную настройку с рабочими каталогами и тому подобное.

1 голос
/ 26 июля 2012

Чтобы начать играть с командным файлом, вам потребуется некоторое время для изучения PROCESSBUILDER и классов Runtime.

Программа:

class RunBatch
{
    public static void main(String[] arg){

        Runtime runtime = null;
        try{
            runtime.getRuntime.exec("CMD START /C D:/myBatchFile.bat");   
        }
        catch(RuntimeException e){ 
            e.printStackTrace();
        }
    }
}
1 голос
/ 10 ноября 2010
public class CallingBatch {
public static void main(String[] args) {
Runtime run = Runtime.getRuntime();
try {
run.exec("cmd start /c C:/batfile.bat");
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("FINISHED");
}
}

Надеюсь, это поможет вам.

0 голосов
/ 10 ноября 2010

Мой предпочтительный метод запуска любого процесса из Java - использовать ProcessBuilder

...