Rechercher : dans
Par :

Problème d'espace pour lancer un exe

Dernière réponse le 31 jui 2008 à 14:27:41 Goofyrocks, le 30 jui 2008 à 15:03:45 
 Signaler ce message aux modérateurs

Bonjour,

J'essaye d'appeler un programme .exe à partir de code java avec des argurments.

String st="C:\\Program Files\\MagicDraw UML\\plugins\\com.nomagic.magicdraw.emfuml2xmi_v2\\exportEMFXMI.exe"+
" project_file="+project.getFileName()+
" destination_dir="+"C:\\test"+
"load_all_modules=true check_time=true ";
Process p = Runtime.getRuntime().exec(st);


Le fait d'avoir des espaces dans le chemin pour lancer mon exe ne pose pas de problème en revanche pour mes arguments comme project file.j'ai cette erreur Project file: "D:\Documents" does not exist!
j'ai vu quelque solutions sur le net comme mettre %20 à la place des espaces ou de mettre des guillemets, mais rien ne fonctionnne.

Je m'en remet à vous

Merci

Goofy

Configuration: Windows XP
Firefox 3.0.1

Meilleures réponses pour « Problème d'espace pour lancer un exe » dans :
Mysqld.exe a rencontré une erreur et doit fermer VoirIl peut arriver suite à une mise à jour logicielle ou matérielle (ou sans raison apparente ?!) que le service mysqld.exe crashe à chaque lancement. Une solution pour y remédier est : Fermer l'application qui éxécute mysqld (par ex : wampserver,...
Télécharger Audio/Video To Exe VoirSi vous ne savez pas comment faire pour lancer automatiquement la lecture de vos fichiers audio ou vidéos dès l'insertion du CD dans un lecteur ou si vous souhaitez tout simplement protéger votre vidéo: utilisez cet outil. Audio/Vidéo To Exe est une...
Cmd - cmd.exe Voircmd - cmd.exe Le processus cmd.exe (cmd signifiant Windows Command Prompt) est un processus générique de Windows NT/2000/XP ouvrant une console en mode texte permettant de lancer des applications à l'aide de commandes. Le fichier correspondant...
Taskmgr - taskmgr.exe Voirtaskmgr - taskmgr.exe Le processus taskmgr.exe (taskmgr signifiant task Manager) est le gestionnaire des tâches de Windows lui-même. Il est donc systématiquement lancé à chaque fois que vous souhaitez voir les processus d'arrière-plan ! Le...
Dmadmin - dmadmin.exe Voirdmadmin - dmadmin.exe Le processus dmadmin.exe (dmadmin signifiant Direct Memory Administration) est un processus générique de Windows NT/2000/XP servant à gérer les disques durs et les volumes. Ce service n'est lancé qu'au moment de la...

1

el_linwin, le 30 jui 2008 à 15:09:05

Bonjour Goofyrocks,

Euh... si vous obtenez l'erreur: Project file: "D:\Documents" does not exist!, c'est que l'appel à project.getFileName() ne renvoie pas le bon chemin... Oo

Peut-être vous faudrait-il commencer par vérifier ça. Ou alors, j'ai loupé quelque-chose...


Cordialement,
el_linwin

Répondre à el_linwin

3

Goofyrocks, le 30 jui 2008 à 16:05:24

Non, project.getFileName() me retourne bien la bonne adresse car si je suis dans un projet dont l'adresse n'a pas d'espace comme par exemple c:\test ça marche. c'est qu'il s'arrête au niveau du premier espace.

Répondre à Goofyrocks

2

Eldar57, le 30 jui 2008 à 15:09:57

Comme tu le fait pour ta chaine st, il te faudrait doubler le slache / dans le chemin Project file ... du moins je pense.

Répondre à Eldar57

4

Goofyrocks, le 30 jui 2008 à 16:07:36

Arf bonne idée, j'y ai cru ,mais après des tests project.getFileName() double déjà les slashes. :'(

Une autre idée =)?

Répondre à Goofyrocks

5

el_linwin, le 31 jui 2008 à 11:38:20

Bonjour Goofyrocks,

Voici ma petite suggestion:

String st="C:\\Program Files\\MagicDraw UML\\plugins\\com.nomagic.magicdraw.emfuml2xmi_v2\\exportEMFXMI.exe"+
" project_file=\""+project.getFileName()+
"\" destination_dir="+"C:\\test"+
"load_all_modules=true check_time=true ";
Process p = Runtime.getRuntime().exec(st);


Pour résumer, j'ai ajouté le nécessaire pour que le chemin renvoyé par project.getFileName() soit mis entre guillemets. Sinon, la présence d'espaces fait passer "D:\Documents and Settings" (si c'est ce dossier) en "D:\Documents", suivi des paramètres "and" et "Settings".


Cordialement,
el_linwin

Répondre à el_linwin

6

Goofyrocks, le 31 jui 2008 à 14:07:17

Normalement c'est ce qui faudrait faire ou alors faire :

"D:\\\"Documents and Settings\"\\mBelmontet\\\"Mes documents\"\\doc_herve\\SBT_Transport.mdzip"

mais nan ça ne marche pas . je dois avoir un souci mais dans le exe.

Répondre à Goofyrocks

7

 el_linwin, le 31 jui 2008 à 14:27:41

Bonjour Goofyrocks,

Si même avec les guillemets, il y a toujours un problème, alors effectivement, votre fichier exe analyse mal la ligne de commande.


Cordialement,
el_linwin

Répondre à el_linwin