Ms dos : la boucle for,delims?

maroné Messages postés 2 Date d'inscription   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.
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. Ted BOX
     
    moi aussi j'aimerais bien avoir une solution car je aussi un fichier avec plein de guillements double a traiter
    1
  2. 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
  3. 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
  4. 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