Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2384 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Comment exécuter une commande DOS à partir d'un code JAVA

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment exécuter une commande DOS à partir d'un code JAVA

n°1280139
AlatakLaTe​X
Posté le 10-01-2006 à 09:50:25  profilanswer
 

Tout est dans le titre, quelqu'un saurait-il comment faire? Pour l'instant je voudrais simplement ouvrir la conosle DOS; j'essaie un truc du style:
 
try {  
Runtime.getRuntime().exec("cmd.exe" );  
} catch (Exception e) { }
 
Mais ça marche pas...lapo compri!
 
Merci de votre aide
 

mood
Publicité
Posté le 10-01-2006 à 09:50:25  profilanswer
 

n°1280180
AlatakLaTe​X
Posté le 10-01-2006 à 10:53:42  profilanswer
 

Non c'est bon, ça marche ça j'avais fait une couille ailleurs.

n°1297465
blueberry7​6
Posté le 02-02-2006 à 15:22:21  profilanswer
 

Tu peux dire comment t as fait stp?J'ai fait comment tu as mis ci-dessus et ca marche pas


Message édité par blueberry76 le 02-02-2006 à 15:22:34
n°1297729
trevor
laissez la vie vous étonner...
Posté le 02-02-2006 à 19:09:31  profilanswer
 

AlatakLaTeX a écrit :

try {  
Runtime.getRuntime().exec("cmd.exe" );  
} catch (Exception e) { }


 
trop bien la gestion de l'exception :D


---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
n°1354792
flavio_dev
Posté le 26-04-2006 à 22:39:57  profilanswer
 

Alu !
J'ai le meme probleme. Je suis sur Win 98, je sais pas si ca gene. J'ai fais les commandes exec(String commande) ds un environnement UNIX, et il n'y a aucun probleme... en revanche, sous Win, j'arrive meme pas à faire un COPY !!!
Voila comment je fais :
Process proc;
Runtime r = null;
proc = r.getRuntime.exec("COPY d:\dos\fichier.txt d:\dos2);
ca nemarche pas : je tombe dans une Exception IO.
Enfin, savez vous comment faire par exemple afficher dans un type List le resultat d'une commande dir ?
D'avance merci !
Flavio_Dev

n°1354810
flavio_dev
Posté le 26-04-2006 à 23:12:57  profilanswer
 

up

n°1354815
charly007
Posté le 26-04-2006 à 23:28:09  profilanswer
 

La commande copy s'exécute dans une console DOS, donc il te faut ouvrir la console DOS et ensuite appeler la commande copy (code à vérifier).

Code :
  1. try
  2. Runtime.getRuntime().exec("cmd.exe /k copy d:\dos\fichier.txt d:\dos2" ); 
  3. } catch (Exception e) { }


Voir ici pour les paramètres de cmd :
http://www.microsoft.com/resources [...] x?mfr=true
 
Et comme suggéré par trevor il faut mieux traiter les exceptions qui peuvent être levées par exec().


Message édité par charly007 le 26-04-2006 à 23:32:03
n°1354934
post_it
Hmmmm!...
Posté le 27-04-2006 à 10:23:06  profilanswer
 

Arretez-moi si je me trompe, est-ce qu'il ne faudrait pas plutôt écrire :

Code :
  1. try
  2. Runtime.getRuntime().exec("cmd.exe /k copy d:\\dos\\fichier.txt d:\\dos2" ); 
  3. } catch (Exception e) { }


... le caractère '\' étant un caractère d'échappement ?...

Message cité 1 fois
Message édité par post_it le 27-04-2006 à 10:23:48
n°1355024
charly007
Posté le 27-04-2006 à 11:59:45  profilanswer
 

post_it a écrit :

Arretez-moi si je me trompe, est-ce qu'il ne faudrait pas plutôt écrire :

Code :
  1. try
  2. Runtime.getRuntime().exec("cmd.exe /k copy d:\\dos\\fichier.txt d:\\dos2" ); 
  3. } catch (Exception e) { }


... le caractère '\' étant un caractère d'échappement ?...


Possible, c'est pour ça que j'ai indiqué que le code était à vérifier :D

n°1355315
post_it
Hmmmm!...
Posté le 27-04-2006 à 16:35:24  profilanswer
 

charly007 a écrit :

Possible, c'est pour ça que j'ai indiqué que le code était à vérifier :D


j'avais pas vu !   :)

mood
Publicité
Posté le 27-04-2006 à 16:35:24  profilanswer
 

n°1355435
flavio_dev
Posté le 27-04-2006 à 19:00:34  profilanswer
 

Oki!! Je vous test ca tt de suite et je vous dis ;)
sauf que sur mon win 98, c'est pas CMD.exe, mais command.com...
et je me dis : faire une demande d'ouverture d'un interpretteur de commande... à l'aide d'une commande... enfin... on tourne en rond non ?
Bon,je vais essayer...


Message édité par flavio_dev le 27-04-2006 à 19:22:24
n°1355498
flavio_dev
Posté le 27-04-2006 à 20:10:27  profilanswer
 

ouai !!! ca marche !!! ;)
Donc en fait, ce que j'ai fait, c'est Runtime.getRuntime().exec("command.cmd /c copy d:\\dos\\fichier.txt d:\\dos2" );  
J'ai mis /c car d'apres la doc microsoft (merci charly007 pour le lien...), ca s'arrete apres l'execution du COPY. Alors qu'avec /k, c'est galere, ca continue de tourner... ca plante mon PC... (et oui, vive le reboot...).
Merci à vous;)

n°1355735
charly007
Posté le 28-04-2006 à 09:53:16  profilanswer
 

;)


Message édité par charly007 le 28-04-2006 à 09:53:26
n°1356252
flavio_dev
Posté le 28-04-2006 à 19:51:02  profilanswer
 

Si vous etes encor chaud pour un ptit probleme encore... j'en ai un nouveau...
Tout simple.. mais bon...
Je fais le dir d'un dossier avec java (...exec("command.cmd /c dir /b d:\ > tt.txt" );
mon fichier txt est donc comme suit :
dossier1
dossier2
fichier1
fichier2
...
un element à chaque ligne ;)
comment récupérer ligne par ligne, en lisant le fichier txt les String (pa exemple, je recuper en type String "dossier1" )? Il faut aussi que je connaisse combien y a de lignes, donc de fichier/dossier à recupérer (dans le cas ou la lecture du fichier txt se fait line par ligne, je suppose qu'on utilise un for..)?
MERCI d'avance ;)

n°1356292
post_it
Hmmmm!...
Posté le 28-04-2006 à 21:22:34  profilanswer
 

Tu es réellement obligé d'utiliser une commande dos pour lister le contenu du répertoire ?...

n°1356471
flavio_dev
Posté le 29-04-2006 à 13:45:57  profilanswer
 

J'en sais rien... c'est juste que je trouvais la manipulation sympa... je fais ca pour ma connaissance perso... et aussi parce que cela m'aiderait bien dans mon stage...:)
Bref, tu ne saurais pas comment lire avec Java un fichier txt ? Ou alors, si tu as une autre proposition pour recupérer dans un environnement Java le resultat d'un listage de contenu de rep...
?

n°1356590
charly007
Posté le 29-04-2006 à 18:53:21  profilanswer
 

J'ai lu un peu rapidement ce que tu veux faire et je me permets de te montrer certaines classes que tu pourrais peut-être utiliser (en plus de l'api J2SE) :
http://jakarta.apache.org/commons/io/
dont, entre autres :
http://jakarta.apache.org/commons/ [...] index.html


Message édité par charly007 le 29-04-2006 à 18:53:39
n°1356597
the real m​oins moins
Posté le 29-04-2006 à 19:25:46  profilanswer
 

euh, java.io.File hein [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1356621
flavio_dev
Posté le 29-04-2006 à 21:30:16  profilanswer
 

je pense avoir trouvé la solution ;)
En tout cas, ca marche chez moi :
http://www.infres.enst.fr/~charon/ [...] Texte.html

n°1356640
sircam
I Like Trains
Posté le 29-04-2006 à 23:27:09  profilanswer
 

Laisse tomber l'exécution de process depuis Java. Ca pue un max.
 
N.B. Les exemples donnés par le lien de flavio ne sont pas corrects.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1356801
flavio_dev
Posté le 30-04-2006 à 16:36:57  profilanswer
 

Pas correct soit, mais avec quelque modifications, ca marche sans probleme... et oui l'exec de process depuis Java, c'est pas simple...

n°1356900
sircam
I Like Trains
Posté le 30-04-2006 à 21:50:32  profilanswer
 

flavio_dev a écrit :

Pas correct soit, mais avec quelque modifications ca marche sans probleme...


Faut voir de quoi tu parles, cowboy. [:djswad]

flavio_dev a écrit :

et oui l'exec de process depuis Java, c'est pas simple...


Ca n'a rien de fort compliqué; c'est juste que sapu (== comportements erratiques et mauvaises surprises à prévoir; API sommaire).    [:pingouino]  


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1359142
modigliani
Posté le 04-05-2006 à 05:43:27  profilanswer
 

attention pour ceux qui execute leurs applications en utilisant le path java  le runtime.getruntime().exec("cmd " ) // ou command.com ca marche sans probleme et cela va leurs afficher le terminal dos mais pour ceux qui utilise le javaw comme path l'execution aura lieu mais sans affichage du terminal cad execution des commandes desirées  mais sans visualisation de la fenetre dos


Message édité par modigliani le 04-05-2006 à 05:44:44
n°1359151
sircam
I Like Trains
Posté le 04-05-2006 à 07:33:36  profilanswer
 

Citation :

ca marche sans probleme


Tu t'avances peut-être un peu.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1363840
flavio_dev
Posté le 10-05-2006 à 21:48:14  profilanswer
 

non franchement pas de probleme... je lis le fichier texte ligne par ligne sans soucis :)

n°1363843
kadreg
profil: Utilisateur
Posté le 10-05-2006 à 21:51:12  profilanswer
 

Je suis ton chef et tu me sors ça, je te désanusse à la pelle à clous :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°1363854
sircam
I Like Trains
Posté le 10-05-2006 à 22:31:03  profilanswer
 

Oui oui, pas de soucis... [:mlc]
 
Un petit coup de LART pour se remettre les idées en places ? kradeg est chaud, là. [:itm]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Comment exécuter une commande DOS à partir d'un code JAVA

 

Sujets relatifs
[PHP5 en ligne de commande]Comment convertir le é Dos en é Windows?Java, Corba et "callback"
Compilation en ligne de commande[eclipse]Perte de code source java peut'on le retrouver ?
eclipse makefile java[DOS] Transformer des noms de fichiers longs en court, impossible ?
Probleme en C#: Ouvrir une Form a partir d'un bouton d'une autre Form[Java] Extraire informations d'une String
Plus de sujets relatifs à : Comment exécuter une commande DOS à partir d'un code JAVA


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR