2010-11-10 6 views
1

Je veux exécuter un fichier de commandes par le biais du programme Java. Le fichier de commandes lui-même exécute un fichier exe avec un nom de fichier comme arguments. J'ai essayé cela en créant un programme C et en exécutant cet exe via Java. Existe-t-il un autre moyen d'exécuter un fichier batch qui exécute lui-même un exe via Java. Merci d'avance ...l'exécution d'un fichier de commandes via le programme Java

+0

double possible de [? Comment puis-je exécuter un fichier de commandes de mon application Java] (http://stackoverflow.com/questions/615948/how-do-i-run- a-batch-file-from-my-java-application) – Grodriguez

Répondre

1
public class CallingBatch { 
public static void main(String[] args) { 
Runtime run = Runtime.getRuntime(); 
try { 
run.exec("cmd start /c C:/batfile.bat"); 
} catch (Exception e) { 
e.printStackTrace(); 
} 
System.out.println("FINISHED"); 
} 
} 

Espérons que cela vous aidera.

+0

Avez-vous essayé cela ?? est-ce que ça marche????? –

2

Vous pouvez utiliser Runtime.exec et passer le cmd /c /path/to/your/batch/script. À partir de Java 1.5, vous pouvez également utiliser ProcessBuilder à partir de Java 1.5.

Process p = new ProcessBuilder("cmd", "/c", "/path/to/batch/file").start(); 

Les API docs pour ProcessBuilder détails d'une configuration plus complexe avec les répertoires de travail et autres.

0

Ma méthode préférée de commencer un processus à partir de Java est d'utiliser ProcessBuilder

1

Pour commencer à jouer avec le fichier batch que vous devez prendre un certain temps pour apprendre les classes PROCESSBUILDER et d'exécution.

Programme:

class RunBatch 
{ 
    public static void main(String[] arg){ 

     Runtime runtime = null; 
     try{ 
      runtime.getRuntime.exec("CMD START /C D:/myBatchFile.bat"); 
     } 
     catch(RuntimeException e){ 
      e.printStackTrace(); 
     } 
    } 
} 
Questions connexes