Run .exe file in Java from file location
You can use Runtime.exec(java.lang.String, java.lang.String[], java.io.File) where you can set the working directory.
Or else you can use ProcessBuilder as follows:
ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
pb.directory(new File("myDir"));
Process p = pb.start();
You don't need a console. You can execute a process using a working directory:
exec(String command, String[] envp, File dir)
Executes the specified string command in a separate process with the specified environment and working directory.
- command is the location of the .exe
- envp can be null
- dir, is the directory of your .exe
With respect to your code it should be...
Runtime.getRuntime().exec("c:\\program files\\test\\test.exe", null, new File("c:\\program files\\test\\"));
Another way of running a file is the following:
import java.awt.Desktop;
import java.io.File;
public static void open(String targetFilePath) throws IOException
{
Desktop desktop = Desktop.getDesktop();
desktop.open(new File(targetFilePath));
}
The the Standard Code for Running bat or any other through command line using java is :
runtimeProcess = Runtime.getRuntime().exec("cmd /c start cmd.exe /C\""+backup_path+"\"");
int processComplete = runtimeProcess.waitFor();
and you can go on continue for multiple files using & separator like: &&