Executer commande système dans un .bat
Bonjour a tous!
Alors voila mon problème :
Je veux faire une ptite appli qui s'occupe de régler l'heure du PC quand celui démarre (la pile ma carte mère a un peu de mal et l'heure se dérègle assez souvent...)
Seulement voila, je n'arrive pas à exécuter le .bat qui devrait normalement se charger de faire ça...
Je vous file la classe qui marche pas pour ceux qui veulent tester :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
public class DateHeure {
public static void main(String args[]) {
new DateHeure();
}
public DateHeure() {
setTime("12:00", "03-03-09");
}
private void setTime(String heure, String date) {
try {
if (new File("date.bat").exists()) {
new File("date.bat").delete();
}
new File("date.bat").createNewFile();
PrintWriter pw = new PrintWriter(new FileWriter("date.bat"));
pw.println("date " + date);
pw.println("time " + heure);
pw.close();
Runtime r = Runtime.getRuntime();
// !!!!! REMPLACER LE PATH VERS LE .BAT POUR TESTER !!!!!
r.exec("cmd /c C:/PROG/DateHeure/date.bat");
// déjà essayé :
// r.exec("cmd /c \"cmd /c C:/PROG/DateHeure/date.bat\"");
// r.exec("C:/PROG/DateHeure/date.bat");
} catch (Exception ex) {
ex.printStackTrace();
}
}
} |
Le .bat est bien créé (ou mis a jour) à chaque exécution...
Quand je le lance dans une invite MS-DOS, ca marche.
Quand je lance la commande "cmd /c C:/PROG/DateHeure/date.bat" dans le 'Démarrer>Exécuter' de windows, ça marche.
Mais quand j'essaye d'exécuter tout ça depuis java... ca passe pas...
Quelqu'un a une idée???
Merci d'avance ;)