Runtime.getRuntime().exec(String) returns an object of Process.
Process has a method waitFor() which allows the current thread to wait until the process represented by it's object is completed.
Despite of using thread.sleep() you can use waitFor() as,
Process proc = Runtime.getRuntime().exec("someFile.bat");
proc.waitFor();