Comment lancer des commandes dos a partir d'un interface java

anwer86 Messages postés 33 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 19 avril 2013 - 13 mai 2010 à 22:10
snakeissat Messages postés 30 Date d'inscription jeudi 20 mai 2010 Statut Membre Dernière intervention 8 juillet 2012 - 23 mai 2010 à 19:33
slt
voila cette code ke je veux a partir de lui lancer des commandes Dos mé jarive just a ouvrir le Dos et les lancer moi meme
le code:

import java.io.*;
import java.awt.* ;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

import javax.swing.* ;
public class transferer extends JFrame {
private JButton transferer ;
public transferer ()
{
super() ;
Container c = getContentPane();
JPanel p = new JPanel();
setTitle("transferer") ;
setSize(300, 150) ;
class ActionStart implements ActionListener{

public void actionPerforme(ActionEvent e ){

Runtime runtime = Runtime.getRuntime();
String[] cmd={"cmd.exe","/C start cmd.exe"};
Process p=null;
try {String cmd1;
String cmd2;
cmd1 = "cmd /c cd C:/petals-platform-3.0.5/bin";
cmd2 = "cmd /c java -jar server.jar start -console";
p = runtime.exec(cmd,null);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
p.waitFor();
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}
};
transferer = new JButton("transferer donnees");
transferer.addActionListener(new ActionStart());
p.add(transferer);
c.add(p);
}
public static void main(String[] args)throws IOException {
JFrame fen = new transferer() ;

fen.setVisible(true) ;



}
}

par exemple
je veux lancer ces 2 commandes:
*cd c:\petals-platform-3.0.5\bin
*c:\petals-platform-3.0.5\bin>java –jar server.jar start –console


je sais pa comment les declarer ou les lancer a partir de mon code


et merci davance pour votre attention

3 réponses

edouard333 Messages postés 62 Date d'inscription samedi 23 décembre 2000 Statut Membre Dernière intervention 18 décembre 2011 1
23 mai 2010 à 11:47
J'ai un peu remodifier le code, même si on peut encore l'améliorer (je l'ai fait à la va vite), moi je n'ai un aucun probléme: J'ai cliqué sur le boutton et la fenêtre dos est apparut. Où est le probléme?

Le code source:
import java.io.*;
import java.awt.* ;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

import javax.swing.* ;
public class Transferer extends JFrame implements ActionListener{

JButton transferer ;

public Transferer ()
{
super() ;
Container c = getContentPane();
JPanel p = new JPanel();
setTitle("transferer") ;
setSize(300, 150);

transferer = new JButton("transferer donnees");
//transferer.addActionListener(new ActionStart());
transferer.addActionListener(this);
p.add(transferer);
c.add(p);

//class ActionStart implements ActionListener{
}
public void actionPerformed(ActionEvent e ){
System.out.println("...");
Runtime runtime = Runtime.getRuntime();
String[] cmd={"cmd.exe","/C start cmd.exe"};
Process p=null;
try {
String cmd1;
String cmd2;
cmd1 = "cmd /c cd C:/petals-platform-3.0.5/bin";
cmd2 = "cmd /c java -jar server.jar start -console";
p = runtime.exec(cmd,null);
}
catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
p.waitFor();
}
catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
//};

public static void main(String[] args)throws IOException {
JFrame fen = new Transferer() ;

fen.setVisible(true) ;



}
}
0
anwer86 Messages postés 33 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 19 avril 2013
23 mai 2010 à 19:05
je sais que la fenetre dos apparait mais je devrais ecrire les commandes avec mains alors que moi je veux que ces 2 commandes cmd1 et cmd2 s'execute automatiquement d'apres mon code et a cette instant j'aurais pas besoin de les ecrire!!!!merci bi1
0
snakeissat Messages postés 30 Date d'inscription jeudi 20 mai 2010 Statut Membre Dernière intervention 8 juillet 2012
23 mai 2010 à 19:33
salut,
si tu veut exécuter directement la commande sans faire paraitre la fenêtre dos pense à faire Process p = Runtime.getRuntime().exec("cmd /c nomDeLaCommande);
pour lire le resultat de l'exécution, il te suffit de lire le contenu du process
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
0
Rejoignez-nous