Batch file à lancer avec Java -> Pb de path [Résolu]

Hermios 265 Messages postés dimanche 14 avril 2013Date d'inscription 23 mai 2014 Dernière intervention - 6 mai 2010 à 10:47 - Dernière réponse : Hermios 265 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?

Merci beaucoup

@+. Hermios
Afficher la suite 

2 réponses

Répondre au sujet
Hermios 265 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é ?  
Commenter la réponse de Hermios
didoux95 845 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.
Commenter la réponse de didoux95

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.