Maison > Java > javaDidacticiel > Comment puis-je exécuter plusieurs commandes CMD à partir de Java ?

Comment puis-je exécuter plusieurs commandes CMD à partir de Java ?

DDD
Libérer: 2024-11-29 19:23:11
original
488 Les gens l'ont consulté

How Can I Execute Multiple CMD Commands from Java?

Exécuter des commandes de ligne de commande avec Java

Lorsque vous essayez d'exécuter des arguments de ligne de commande à l'aide de Java, il est crucial de comprendre les nuances des différents modes d'exploitation. systèmes. Cet article vise à résoudre un problème spécifique rencontré par les utilisateurs de Windows lorsqu'ils tentent d'exécuter des commandes CMD via Java.

L'exemple fourni dans la question montre une tentative d'exécution des commandes "cd" et "dir" via la commande ligne utilisant Java. Cependant, cette méthode ne donne pas les résultats escomptés. Pour surmonter ce problème, une approche alternative est nécessaire.

La solution réside dans la construction d'un processus d'invite de commande (CMD) et dans la communication interactive avec lui via des flux d'entrée et de sortie. Cela permet l'exécution transparente de plusieurs commandes au sein d'un seul processus, comme le montre le code suivant :

String[] command = {"cmd"};
Process p = Runtime.getRuntime().exec(command);

// Thread to handle error stream
new Thread(new SyncPipe(p.getErrorStream(), System.err)).start();

// Thread to handle input stream
new Thread(new SyncPipe(p.getInputStream(), System.out)).start();

// PrintWriter to write to the output stream
PrintWriter stdin = new PrintWriter(p.getOutputStream());

// Write the "dir" command
stdin.println("dir c:\ /A /Q");

// Close the stdin stream
stdin.close();

// Wait for the process to complete
int returnCode = p.waitFor();

// Print the return code
System.out.println("Return code = " + returnCode);
Copier après la connexion

Cette approche permet l'exécution de plusieurs commandes au sein du processus CMD, offrant ainsi une approche plus efficace et plus polyvalente. façon d'interagir avec la ligne de commande de Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal