Manipulation de chaine caractère par boucle

Manipulation de chaine caractère par boucle - Shell/Batch - Programmation

Marsh Posté le 05-04-2008 à 18:22:06    

Bonjour à tous,  
 
J'ai un petit soucis avec la manipulation de chaines de caractères dans un txt. Je m'explique :
 
Après l'execution du début de mon script (.bat), j'obtiens un txt avec une liste de chemins
vers différents fichiers de mon pc.
 
ex :
 
"c:\blabla1.txt"
"c:\blabla2.txt"
"c:\blabla3.txt"
 
Le problème c'est que pour pouvoir exploiter ce fichier par la suite, il faudrait que je supprime les guillemets encadrant chaque adresse. Je suis débutant en programmation et je ne comprends pas bien l'utilisation de la boucle FOR /F.
 
Si une âme charitable pouvait m'aider ou simplement me donner une piste de réflexion, ce serait super cool.
 
Merci d'avance à tous ceux et celles qui se donneraient la peine de m'aider
 
Cordialement.

Reply

Marsh Posté le 05-04-2008 à 18:22:06   

Reply

Marsh Posté le 07-04-2008 à 11:02:34    

Bounty67 a écrit :

Bonjour à tous,  
 
J'ai un petit soucis avec la manipulation de chaines de caractères dans un txt. Je m'explique :
 
Après l'execution du début de mon script (.bat), j'obtiens un txt avec une liste de chemins
vers différents fichiers de mon pc.
 
ex :
 
"c:\blabla1.txt"
"c:\blabla2.txt"
"c:\blabla3.txt"
 
Le problème c'est que pour pouvoir exploiter ce fichier par la suite, il faudrait que je supprime les guillemets encadrant chaque adresse. Je suis débutant en programmation et je ne comprends pas bien l'utilisation de la boucle FOR /F.
 
Si une âme charitable pouvait m'aider ou simplement me donner une piste de réflexion, ce serait super cool.
 
Merci d'avance à tous ceux et celles qui se donneraient la peine de m'aider
 
Cordialement.


 
Salut Bounty67,
 
Je te propose cette solution. Ce n'est peut être pas la plus élégante mais bon! Elle a l'avantage de fonctionner.
Tu crées un nouveau fichier .bat au même endroit que ton .txt contenant ta liste avec le code suivant dedans:
 
FOR /f "delims=" %%a IN ('TYPE "%1"') DO CALL :commande "%%a"
GOTO :eof
:commande
SET ligne=%1
SET ligne=%ligne:"=%
@ECHO %ligne% >>New_fichier_nettoyé.txt
 
Ensuite tu ouvres la console, tu te rends là où est le .bat et ton .txt et tu tapes:
 
nom_fichier_bat nom_fichier.txt
 
Le script va créer un nouveau fichier "New_fichier_nettoyé.txt" sans les ".
 
Bien à toi.

Reply

Sujets relatifs:

Leave a Replay

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