Rechercher : dans
Par :

Recuperer le resultat d'une cmd dos en java

Dernière réponse le 12 nov 2009 à 10:44:10 ayoubbbb, le 11 nov 2009 à 20:32:06 
 Signaler ce message aux modérateurs

Bonjour,
je cherche une solution pour recuperer le resultat d'une commande dos (tels qu'un ping ou ipconfig ) vers une chaine de type String en java

s'il ya une methode pour ca n'esither pas a me la proposer et merci d'avance

Configuration: Windows XP Internet Explorer 7.0

Meilleures réponses pour « recuperer le resultat d'une cmd dos en java » dans :
Comment récupérer le résultat d'une commande dans une variable VoirComment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...
[MS-Dos] Lister le contenu d'un répertoire dans un fichier VoirIl peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers. Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible...

1

arth, le 11 nov 2009 à 21:41:00

Hello,

J'ai déjà fait ça pour le ping, mais je sais plus comment j'ai fait :D

Enfin, pour lancer la commande :

Process p=null;
Runtime r=null;
r=Runtime.getRuntime();
p = r.exec("Ta commande avec le chemin complet hormis si c'est une commande système");

Après je sèche, ca fait un moment déjà :)

Loulou.
Le loup, solitaire et mystérieux.

Répondre à arth

2

sandul, le 11 nov 2009 à 22:14:50

Salut,

Ceci que tu cherches: http://lists.xcf.berkeley.edu/lists/advanced-java/2001-Septe­mber/037263.html ?

++ A man would die, though he were neither valiant nor miserabl­e,
only upon a weariness to do the same thing so oft over and o­ver. [Bacon]

Répondre à sandul

3

arth, le 11 nov 2009 à 22:31:25

En effet merci Sandul ;)
Le loup, solitaire et mystérieux.

Répondre à arth

4

ayoubbbb, le 12 nov 2009 à 10:18:13

Cotee d'execution d'une commande dos est realiser (par exemple recuperer la config ip dans un fichier)
mais coteee de recuperation du resultat directement sur ma console java ne se realise pas

Répondre à ayoubbbb

5

 sandul, le 12 nov 2009 à 10:44:10

Je ne comprends pas: tu dis que ça ne marche pas ? Mais as-tu déjà essayé de mettre en pratique le code dans mon lien ? Voici ce que ça donnerait (avec un copire-coller grossier pour avoir une classe exécutable; sans aucune optimisation):

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Ayoubbbb {
	public static void main(String[] args) throws IOException {
		Process p = Runtime.getRuntime().exec("ipconfig");

		// read the standard output of the command
		BufferedReader stdInput = new BufferedReader(new InputStreamReader(p
				.getInputStream()));

		System.out.println("Here is the standard output of the command:\n");

		int count = 0;
		String s;
		String result = "";
		while (!procDone(p)) {
			while ((s = stdInput.readLine()) != null) {
				count++;
				result = result + s + "\n";
			}
		}
		
		System.out.println("result:" + count + ": " + result);
		stdInput.close();
	}

	private static boolean procDone(Process p) {
		try {
			int v = p.exitValue();
			return true;
		} catch (IllegalThreadStateException e) {
			return false;
		}
	}
}


Et ça marche très bien ^^ Une variante plus concise et donc plus facile à comprendre (car le code est plus soigné) ici: http://www.java-tips.org/...

++

Répondre à sandul