IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Batch txt convertir 1 ligne en 1 colonne


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Par défaut Batch txt convertir 1 ligne en 1 colonne
    Bonjour bonne année! et merci de votre aide,

    je cherche en vain comment extraire une ligne d'expression ou de mots contenu dans un fichier texte.txt formaté en 1 seule ligne comme si dessous:

    mots1, expression1, mots2, mots3, expression4, etc,

    et d'obtenir comme resultat un fichier texte2.txt formaté en 1 colonne comme si dessous:

    mots1,
    expression1,
    mots2,
    mots3,
    expression4,
    etc,

    j'ai fait ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /F "delims=," %%i in (texte.txt) do echo %%i>>texte2.txt
    mais sa boucle pas, dans texte2.txt j'ai que la première expression.
    C'est normal me direz vous puisque "delims=,".

    voici le code pour faire le contraire: donc convertir colonne en ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    @echo off
    
    set entree=texte1.txt
    set sortie=texte2.txt
    
    for /F "delims=" %%i in (%entree%) do call :ligne %%i
    
    echo %laligne:~0,-1%.>%sortie%
    start %sortie%
    goto END
    
    :ligne
    set mot=%1
    set laligne=%laligne%%mot%,
    goto renvoi
    
    :END
    set mot=
    set laligne=
    set entree=
    set sortie=
    
    :renvoi
    si quelqu'un a une idée je suis preneur.

    merci.

  2. #2
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    solution tiré par les cheveux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /F "delims=" %%i in (row.txt) do for %%j In (%%i) do echo.%%j, >>col.txt

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Par défaut c'est top !!!
    pour les mots ca fonctionne trés bien mais dès qu'y a une expression elle se retrouve décomposée sur plusieurs lignes.

    mot1, mot2, et une expression avec des espaces, etc,

    je cherche à utiliser la virgule pour delimiter les chaines à extraire.

    si je trouve, je post.

    merci.

  4. #4
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    et ceci ,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @echo off 
    setlocal enabledelayedexpansion
    setlocal enableextensions
    
    For /f "delims=" %%a In (row.txt) Do For %%b In ("%%a") Do (call :_nxt1 %%b)
    goto :_nxt2
    
    :_nxt1
     Set "wds_=%~1"
     Set str_="%wds_:,=" "%"
    goto:eof
    
    :_nxt2
    For %%i In (%str_%) Do (
     Set out_=%%~i
     Echo.!out_!,>>col.txt
    )
    Endlocal & pause & Exit

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Par défaut exact ! c'est magique !
    merci grandement à I'm_HERE pour son aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FN]En lignes ou en colonnes ?
    Par m-mas dans le forum Schéma
    Réponses: 6
    Dernier message: 27/04/2006, 10h36
  2. [T-SQL] Convertir des lignes en colonne
    Par cortex93 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/12/2005, 16h17
  3. Réponses: 3
    Dernier message: 26/09/2005, 22h24
  4. [Batch] Coder sur plusieurs lignes
    Par Jokeur dans le forum Windows
    Réponses: 6
    Dernier message: 08/07/2005, 20h16
  5. Réponses: 5
    Dernier message: 08/07/2005, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo