Ms dos : la boucle for,delims?
maroné
Messages postés
2
Statut
Membre
-
nitneuc -
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:
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.
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
moi aussi j'aimerais bien avoir une solution car je aussi un fichier avec plein de guillements double a traiter
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
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
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
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
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 ...
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 ...