[Chemin avec espaces] Comment echapper les espaces ?

Comment echapper les espaces ? [Chemin avec espaces] - Java - Programmation

Marsh Posté le 15-05-2006 à 23:41:06    

Bonjour,
J'ai un petit programme charge de lancer Encryptr.bat sur plusieurs fichiers. Le voici :
 

Code :
  1. //Creation de la ligne de commande  
  2.         String program = "C:\\S-Filer Encryptor 3.0\\Encryptr.bat ";
  3.         String decrypt = "-decrypt -file c:\\temp\\";
  4.         String into = " -into c:\\temp\\";
  5.         String forKey = " -for 03 -automatic";
  6.         try {
  7.             for (int ind = 0; ind < 2; ind ++) {
  8.                 txtFormat = fileList[ind].replaceAll(".sfe", ".txt" );
  9.                 System.out.println(program+decrypt+fileList[ind]+into+txtFormat+forKey);
  10.                 Process proc = Runtime.getRuntime().exec(program+decrypt+fileList[ind]+into+txtFormat+forKey);
  11.             }


 
Le probleme est que lorsque je lance mon ant build, celui-ci va lancer la ligne de commande suivante dans ma fenetre DOS:
c:\S-Filer Encryptor 3.0\Encryptr.bat ..........
 
et DOS ne va rien comprendre et me dira que : c:\S-Filer n'est pas une commande valide. Il s'arrete au premier espace!
 
Pour tester, j'ai mis tout mon prog dans C:\\S-Filer Encryptor 3.0\\
et remplacer la ligne concernee par :
 

Code :
  1. String program = "C:\\Encryptr.bat ";


 
Plus de probleme d'espace.
Ma commande devient :
 
Encryptr.bat ........
 
et la ca fonctionne sans probleme
 
Ma question est la suivante:
Comment faire pour que DOS comprenne quand je lance  
C:\S-Filer Encryptor 3.0\Encryptr.bat .....  espace inclus ?
 
Pas sur d'etre clair ...
 
Merci d'avance


Message édité par LaBrune3012 le 16-05-2006 à 15:15:51
Reply

Marsh Posté le 15-05-2006 à 23:41:06   

Reply

Marsh Posté le 16-05-2006 à 00:07:59    

ché pas, mais la prochaine fois, quand tu copies ton message d'un autre forum, enleve au moins les interlignes, qu'on puisse lire, un peu.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-05-2006 à 10:27:54    

faut peut etre rajouter des guillemets nan ?  

Code :
  1. String path = "\"c:\\Program Files\\truc\\machin.bat\"";


Reply

Marsh Posté le 16-05-2006 à 15:24:57    

J'ai essaye avec les guillemets comme tu le proposes Souk mais non ca ne marche pas.
 
Je continue mes recherches, si quelqu'un a une autre idee, qu'il n'hesite pas.
 
PS: J'ai po copie mon message depuis un autre forum mais j'ai eu quelques problemes d'identification qui m'ont oblige a copier/coller mon message au sein mm de hardware. Quoiqu'il en soit, c'est arrange.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed