Maison >Java >javaDidacticiel >Comment puis-je exécuter un fichier batch à partir d'une application Java ?
Exécuter des fichiers batch dans des applications Java
En Java, exécuter un fichier batch qui lance des actions telles que "scons -Q implicit-deps-changed buildfile_load_type exportfile_load_type" peut sembler un défi.
Le défi du lot Fichiers
Les fichiers batch ne sont pas intrinsèquement exécutables et nécessitent une application pour les exécuter, comme cmd sous Windows. Contrairement aux fichiers de script UNIX qui utilisent shebang (#!) pour spécifier le programme en cours d'exécution, les fichiers batch ne disposent pas de ce mécanisme.
Tentatives d'exécution Java
Votre code Java initial, qui a tenté d'exécuter le fichier batch à l'aide de "Runtime.getRuntime().exec("build.bat", null, new File("."))", n'a pas réussi car il supposait que l'exécution était directe. l'exécution était possible.
La solution : utiliser cmd
La clé pour surmonter ce défi est d'utiliser la commande cmd pour exécuter le fichier batch. Voici le code Java corrigé :
Runtime.getRuntime().exec("cmd /c start \"\" build.bat");
En ajoutant "cmd /c start "" " au début de la commande, vous invoquez une fenêtre de commande qui exécute le fichier batch. L'argument start "" crée une fenêtre de commande distincte avec un titre vide pour afficher toute sortie. Alternativement, l'utilisation de "cmd /c build.bat" sans start "" omet la fenêtre de commande séparée et permet de lire la sortie dans Java.
La mise en œuvre de cette modification devrait permettre à votre application Java de déclencher avec succès l'exécution du traitement par lots. fichiers et effectuez les actions souhaitées.
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!