Voilà un petit bout de code :
Mon problème est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public void actionPerformed(ActionEvent parEvent) { if (parEvent.getSource() == btNvNom) { SimpleDateFormat valDate=new SimpleDateFormat("HH'h'mm_dd-MMMMM-yy'.iso'"); // 12h01_28-mai-09.iso strDate = valDate.format(new Date()); zoneCode.setText(strDate); } if (parEvent.getSource() == btLancerCrea) { String chCmd = "c:\\WINDOWS\\system32\\cmd.exe /K C:\\\"Documents and Settings\"\\util\\Bureau\\Current\\Local\\mkisofs.exe -r -J -l -L -b \"isolinux/isolinux.bin\" -c \"isolinux/isolinux.cat\" -no-emul-boot -boot-load-size 4 -boot-info-table -graft-points -o D:\\ISO\\"+strDate+" C:\\\"Documents and Settings\"\\util\\Bureau\\Current\\Local\\Clonezilla"; //String chCmdTest = "c:\\WINDOWS\\system32\\cmd.exe /K ping localhost > D:\\toto.txt"; try { Runtime.getRuntime().exec(chCmd); System.out.println("Lancement de la commande suivante : "+chCmd); } catch(Exception ie) { System.out.println("erreur d'execution " + /*chCmd + */parEvent.toString()); } } }
La commande stockée dans chCmd ne s'exécute pas, alors que celle, plus simple, placée dans la variable commentée chCmdTest passe sans problème.
Le system.out.println me retourne le code de la commande qui devrait être exécuté, et lorsque je copie/colle ce code dans une invite DOS, ça se lance...
J'ai essayé en remplaçant "Documents and Settings" par "docume~1", ça n'a rien changé.
J'ai essayé avec un tableau de string, je suis parvenu à lancer une invite de commande, rien de plus, grâce à la commande suivante :
Je n'ai pas d'erreur/warning/exception...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Runtime runtime = Runtime.getRuntime(); String[] cmd={"cmd.exe","/K start cmd.exe"}; try { runtime.exec(cmd); } catch (IOException e) { e.printStackTrace(); }
Une idée ?
Merci d'avance !
Partager