Batch file à lancer avec Java -> Pb de path [Résolu]
Hermios265
Messages postés dimanche 14 avril 2013Date d'inscription
23 mai 2014
Dernière intervention
-
6 mai 2010 à 10:47 - Dernière réponse : Hermios265
Messages postés dimanche 14 avril 2013Date d'inscription
23 mai 2014
Dernière intervention
- 11 mai 2010 à 15:41
Bonjour à tous,
D'abord, désolé de ressasser ce vieux sujet qu'est l'exécution du batch via Java, mais malgré toutes mes recherches, je n'ai pas trouvé de réponse précise à la question suivante :
Je veux donc simplement lancer un batch à partir de java, donc via la commande Runtime.getRuntime.exec("cmd /c start \fichier.bat")
Une première question d'abord : le fait de mettre une String, plutôt qu'un tableau de Strings (String toto[]={"cmd","/c","stat" etc.}) change-t-il quelque chose?
Sinon, le problème vient du chemin de mon fichier : De ce que j'ai pu lire, start implique d'utiliser des chemins sans espace, soit de remplacer les espaces par <6 lettres>~1.
Le problème, c'est que j'ai des chemins très longs, avec des espaces, et parfois, les 6 premières lettres sont identiques pour deux dossiers, et Java plante sur l'exécution du batch, car ne le retrouve pas.
Auriez vous une idée pour exéctuer ces batch proprement, sans avoir de contrainte de chemin?
Hermios265
Messages postés dimanche 14 avril 2013Date d'inscription
23 mai 2014
Dernière intervention -11 mai 2010 à 15:41
+3
Utile
Bon, ben en fait, en virant tout le trop plein (cmd, /C, start), et en rajoutant des guillements autour du path du fichier batch, ca marche. Merci quand même de ton aide didoux95 (Désolé, je ne peux accepter ta réponse, elle n'est malheureusement pas pertinente, le but étant précisément de faire fonctionner les batch quelques soient les chemins relatifs et absolus, et j'utilise Windows!)
@+. Hermios
Cette réponse vous a-t-elle aidé ?Merci pour votre retour.
N'oubliez pas de prendre quelques secondes pour remercier l'auteur : Merci pour votre retour.
Nous sommes désolés. Notre objectif est de vous donner la meilleure réponse possible.
didoux95845
Messages postés mardi 25 avril 2006Date d'inscription
1 août 2017
Dernière intervention - 8 mai 2010 à 18:51
0
Utile
Bonjour,
Pour répondre à ta deuxième question, tu peux mettre les batch dans un même répertoire (ou non, tu les agences comme tu le souhaites) près de ton projet. L'avantage c'est que tu peux faire en sorte que ces répertoires ne comportent aucun espace.. Mais c'est à condition que tu n'aie pas de contrainte au niveau de ton cahier des charges..
Note : Sur Unix les espaces sont précédés d'un "". Une solution possible c'est de coder tes espaces, mais le problème c'est plus la manière dont ils sont interprétés ; un espace correspond soit à une nouvelle commande, un nouveau paramètre, etc.