Pb d'execution de commande DOS

Pb d'execution de commande DOS - Java - Programmation

Marsh Posté le 28-05-2009 à 16:00:06    

Voilà un petit bout de code :
 

Code :
  1. public void actionPerformed(ActionEvent parEvent)
  2. {
  3.  if (parEvent.getSource() == btNvNom)
  4.  {
  5.   SimpleDateFormat valDate=new SimpleDateFormat("HH'h'mm_dd-MMMMM-yy'.iso'" ); // 12h01_28-mai-09.iso
  6.   strDate = valDate.format(new Date());
  7.   zoneCode.setText(strDate);
  8.  }
  9.  if (parEvent.getSource() == btLancerCrea)
  10.  {
  11.   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";
  12.   //String chCmdTest = "c:\\WINDOWS\\system32\\cmd.exe /K ping localhost > D:\\toto.txt";
  13.   try
  14.   {
  15.    Runtime.getRuntime().exec(chCmd);
  16.    System.out.println("Lancement de la commande suivante : "+chCmd);
  17.   }
  18.   catch(Exception ie)
  19.   {
  20.    System.out.println("erreur d'execution " + /*chCmd + */parEvent.toString());
  21.   }
  22.  }
  23. }


 
Mon problème est le suivant :  
 
La commane 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...
 
Une idée ?
 
Merci d'avance !

Reply

Marsh Posté le 28-05-2009 à 16:00:06   

Reply

Marsh Posté le 29-05-2009 à 01:13:54    

le souci c'est \"Documents and Settings\" il me semble. tente plutot avec "docume~1"


---------------
Plop !
Reply

Marsh Posté le 08-06-2009 à 09:57:59    

Désolé, je ne réponds que maintenant, je n'étais pas en entreprise jusqu'à présent :  
 
J'ai essayé avec "docume~1", ca n'a rien changé. La commande fonctionne mais uniquement lorsque je la copie/colle dans une invite de commande.
 
Question : J'ai fait le test suivant :  
 

Code :
  1. Runtime.getRuntime().exec("c:\\WINDOWS\\system32\\cmd.exe" );


 
L'exécution de cette commande devrait m'afficher une invite MS-DOS ou pas ? Parce que pour le moment ce n'est pas le cas...
 
Merci de ton aide en tout cas :)

Reply

Marsh Posté le 08-06-2009 à 10:28:56    

Essaye de découper ta commande si tu peux pour voir où est le problème exactement.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed