Maison >Java >javaDidacticiel >Comment puis-je exécuter avec succès des fichiers batch à partir d'une application Java ?

Comment puis-je exécuter avec succès des fichiers batch à partir d'une application Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-22 07:42:35160parcourir

How Can I Successfully Execute Batch Files from a Java Application?

Exécution de fichiers batch à partir d'applications Java

Lorsqu'ils tentent d'exécuter un fichier batch à partir d'une application Java, les utilisateurs peuvent rencontrer des difficultés en raison de nature non exécutable des fichiers batch. Ils nécessitent une application externe, telle que « cmd », pour les exécuter. Cet article résout ce problème en présentant une solution pour exécuter avec succès les fichiers batch.

Implémentation Java :

Le code Java fourni par l'utilisateur tente d'exécuter le fichier batch" build.bat" en utilisant Runtime.getRuntime().exec("build.bat", null, new File("."));. Cependant, cette méthode ne tient pas compte de la nécessité d'utiliser une application externe pour exécuter le fichier batch.

Solution :

Pour résoudre ce problème, le fichier batch doit être exécuté à l'aide d'une commande qui invoque explicitement l'application chargée de son exécution. Sur les systèmes Windows, la commande suivante permet d'obtenir cet effet :

Runtime.getRuntime().exec("cmd /c start \"\" build.bat");

Dans cette commande :

  • "cmd /c" spécifie qu'une fenêtre de commande (cmd) doit être ouverte et que le commande suivante (start "" build.bat) exécutée à l'intérieur.
  • "start "" build.bat" ouvre une fenêtre de commande séparée avec un titre vide et exécute le fichier batch "build.bat" à l'intérieur.

Remarques supplémentaires :

  • Pour les systèmes qui prennent en charge les shebangs (# !), tels que UNIX, le Le fichier de script doit commencer par un shebang approprié (par exemple, #!/bin/bash) pour indiquer l'interpréteur à utiliser.
  • Utilisation cmd /c build.bat peut être une alternative à la commande ci-dessus. Dans ce cas, toute sortie du fichier batch peut être lue à partir du sous-processus en Java si vous le souhaitez.

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!

Déclaration:
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