Execution de commande DOS
Voilà un petit bout de code :
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
|
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());
}
}
} |
Mon problème est le suivant :
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 :
Code:
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();
} |
Je n'ai pas d'erreur/warning/exception...
Une idée ?
Merci d'avance !