Je veux exécuter un fichier de commandes d'un programme Java.
J'utilise la commande suivante. P>
com | project | ------ parser | |_____ Main.java | -------util |_____ Server.bat
7 Réponses :
Vous devez exécuter "cmd.exe" avec les arguments "/ c" et "serveur.bat":
Vous pouvez utiliser exemple: p> Bien sûr, votre application doit être déployée quelque part. Il peut être défini dans l'environnement, dans le fichier de configuration de l'application, il peut s'agir d'un répertoire utilisateur actuel ou de quelque chose d'autre. P> p> ProcessBuilder code >
pour cela. Il fournit beaucoup plus de contrôle que EXEC code>. En particulier, il permet de définir un répertoire de travail avec la méthode
code>.
Lorsque Java est en cours d'exécution et que vous utilisez Runtime.Exec () avec un chemin relatif, des moyens relatifs par rapport à la direction actuelle de l'utilisateur, où la JVM a été invoquée.
Ceci peut fonctionner P>
Runtime.getRuntime().exec("cmd.exe", "/c", System.getProperty("user.dir")+"/com/projct/util/server.bat");
Il n'y a pas de méthode "EXEC" dans la classe d'exécution qui prend trois paramètres de chaîne.
C'est vrai. Je veux dire la chaîne [] version [], mais je ne suis pas en mesure d'entrer des parenths carrés dans la zone de texte SO ... Je pense que je dois lire des manuels / wiki ...
Disons que j'ai trois commandes censées être exécutées à partir de CMD, puis trois fenêtres de CMD séparées seront ouvertes pour chacune des commandes, y a-t-il une manière que je peux exécuter les trois commandes sur une fenêtre CMD.
@Viveksinghgits lire ici: Stackoverflow.com/Questtions/8055371/...
Utils plexus fournit un Type de commande pouvant invoquer une ligne de commande arbitraire et manipuler l'analyse de la sortie.
Vous êtes meilleur choix consiste à stocker le répertoire d'installation de l'application sur le système, puis à utiliser pour créer vos chemins dans l'application. System.geProperty ("user.dir") doit fonctionner sur des plates-formes Windows et UNIX pour obtenir le répertoire de travail actuel, mais le système dépend du système en être au courant. P>
Le deuxième paramètre à exécuté est une chaîne [] de Args pour les paramètres de l'environnement (NULL signifie hériter du processus 'actuel) et le troisième paramètre à exécuté doit être un fichier fournissant le répertoire de travail. Essayez ceci:
Vous pouvez l'essayer avec le bureau si pris en charge (Java 1.6)
File file = new File("server.bat"); Desktop.getDesktop().open(file);
C'est le seul qui fonctionne parfait pour moi! Merci