Ms dos : la boucle for,delims?

maroné Messages postés 2 Statut Membre -  
 nitneuc -
bonjour tout le monde!!!!
j'ai un petit problème, si quelqu'un peut m'aider.
j'aimerai utiliser les guillemets " comme delimiteur dans la boucle FOR sous ms dos
je donne un exemple:

for /F "delims=^" " %%A  in (fichier.txt) do echo %%A


mais en utilisant le chapeau qui banalise normalement le caractère qui suit ca ne marche pas.
s'il vous plait, si quelqu'un a une solution qu'il m'envoie la réponse.
merci d'avance.

4 réponses

Ted BOX
 
moi aussi j'aimerais bien avoir une solution car je aussi un fichier avec plein de guillements double a traiter
1
nitneuc
 
Cette solution fonctionne chez moi :

for /f tokens^=1^,2^,3^ delims^=^"^" %%n in ('echo "%%j"') do echo %%n %%o %%p

voir ici : http://stackoverflow.com/questions/7516064/escaping-double-quote-in-delims-option-of-for-f
1
Reynald
 
Des années plus tard...

Je n'ai pas trouvé comment indiquer à delims que j'avais un " comme séparateur de donnée dans les lignes de mon fichier.
Alors j'ai procédé autrement

Je remplace dans ma ligne, les " par un autre caractère qui n'existe pas dans le fichier

Exemple
Ma ligne contient : Entete,"donnee 1","donnee 2","donnee 3"
Je remplace les " par des $
Je recupére les 3 données
je les affiche

setlocal
set Ligne=Entete,"donnee 1","donnee 2","donnee 3"
set Ligne=%Ligne:"=$%
for /f "tokens=2,4,6 delims=$" %%A in ("%Ligne%") do (set Data1=%%A) && (set Data2=%%B) && (set Data3=%%C)
echo %Data1%,%Data2%,%Data3%
endlocal
0
ckerrec Messages postés 2 Statut Membre
 
Bonjour,
Je cherche le moyen de faire une action avec une boucle FOR à partir d'un fichier texte dont la dernière valeur est 1.
à moins qu'il existe un autre moyen ...

En clair, je réalise une extraction depuis la base de registre avec la commande REG QUERY qui me renvoi le résultat dans un fichier text1.txt

A partir de test1.txt, j'exécute la commande FIND /C qui me donne un résultat dans une fichier text2.txt.

Ce fichier text2.txt dispose de la valeur ci-dessous

---------- C:\SOCIETE\VERIFVERSION1.TXT: 1

Je souhaite vérifier cette valeur "1" et avec une boucle IF (ou FOR) exécuter une action ...
-1