Запустите файл .exe в Java из расположения файла

Мне нужно открыть файл .exe из моей программы на Java. Итак, я попробовал следующий код First.

Process process = runtime.exec("c:\\program files\\test\\test.exe");

Но я получил некоторую ошибку. Затем я узнал, что exe должен запускаться из этого места, а именно c://program files/test/, только тогда он откроется без ошибок. Поэтому я решил написать файл .bat и выполнить его, чтобы он переместился в это место и выполнил файл .exe.

Вот мой код:

BufferedWriter fileOut;

String itsFileLocation = "c:\\program files\\test\\"
    System.out.println(itsFileLocation);
    try {
     fileOut = new BufferedWriter(new FileWriter("C:\\test.bat"));
     fileOut.write("cd\\"+"\n");
     fileOut.write("cd "+ itsFileLocation +"\n");
     fileOut.write("test.exe"+"\n");
     fileOut.write("exit"+"\n");
     
     fileOut.close(); // Close the output stream after all output is done.
    } catch (IOException e1) {
     e1.printStackTrace();
    } // Create the Buffered Writer object to write to a file called filename.txt
    Runtime runtime = Runtime.getRuntime();
    try {
     Process process =runtime.exec("cmd /c start C:\\test.bat");
    } catch (IOException e) {
     e.printStackTrace();
    }

Приведенный выше код работает отлично. Однако командная строка также открывается в конце моего .exe (приложения). Он закрывается только после выхода из файла .exe.

Мне нужно закрыть мою командную строку, когда моя статистика приложения.

Мой файл .bat после записи программой будет выглядеть следующим образом.

cd\
cd C:\Program Files\test\
test.exe
exit
18
задан DimaSan 1 September 2017 в 20:33
поделиться