[Shell DOS] echappement du caractere de redirection

echappement du caractere de redirection [Shell DOS] - Shell/Batch - Programmation

Marsh Posté le 27-02-2009 à 11:25:16    

Bonjour,
 
Je souhaite ecrire le contenu d'une variable dans un fichier.
Seulement voilà ma variable peut éventuellement contenir le caractère "<" ou ">" qui sont identifiés comme des caractères de redirection vers un fichier en shell windows.
Le résultat est qu'en voulant écrire le contenu de ma variable dans un fichier il essaye de rediriger vers un fichier inexitant donc on a une erreur du type : " le fichier spécifié est introuvable "
 

Code :
  1. @ECHO OFF
  2. echo La requete a executer :
  3. set /p req=
  4. pause
  5. echo  %req%; > ordreOUT.sql


 
j'ai tenté de remplacer le caractère "<" ou ">" avant de l'inscrire dans le fichier ainsi :  
 

Code :
  1. set req=%req:^>:^^^>%
  2. set req=%req:^<:^^^<%


 
sans succès...
 
je pensais à utiliser le code ascii du caractère mais je ne sais pas comment faire ni même si cela fonctionnerait.  
 
Avez vous une idée ?  
Merci.  
 

Reply

Marsh Posté le 27-02-2009 à 11:25:16   

Reply

Marsh Posté le 27-02-2009 à 13:21:13    

Avec

Code :
  1. echo "%req%;" > ordreOUT.sql


Ca fonctionne, y'a juste des quotes en plus autour de la requête [:petrus75]


Message édité par FlorentG le 27-02-2009 à 13:48:29
Reply

Marsh Posté le 27-02-2009 à 14:39:38    

Code :
  1. @ECHO OFF
  2. echo La requete a executer :
  3. set /p req=
  4. pause
  5. echo  "%req%;" > ordreOUT.sql


 
fonctionne mais en fait voilà :  
 
le programme complet écrit une commande db2 :
 

Code :
  1. echo EXPORT TO %sortie% OF IXF MESSAGES %log% "%req%"; > ordreOUT.sql


 
et la commande db2 d'export n'accepte pas les double quote.
 
une autre solution ?  
 

Reply

Sujets relatifs:

Leave a Replay

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