executer un bat est possible via:
Process process = Runtime.getRuntime.exec(new String[]{"cmd", "/c", "mon_fichier.bat"});
Il te faudra, comme a chaque utilisation de Runtime.exec(), consommer ou fermer les flux de sortie et d'erreur de l'objet process obtenu.
Pour démarrer ton programme automatiquement, il ya plusieurs manières différentes sous Windows, certaines ne fonctionnant pas sous toutes les versions. Le plus simple serait sans doute de copier un fichier raccourcis dans le répertoire démarrage du menu démarrer. Par contre il faudrait détecter le version de Windows pour savoir le nom du répertoire ou installer.
Partager