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

Windows Discussion :

[BATCH] Manipulation dans un fichier texte


Sujet :

Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 147
    Points : 120
    Points
    120
    Par défaut [BATCH] Manipulation dans un fichier texte
    Bonjour,

    J'ai un fichier texte qui contient tout les noms des fichiers de type rtf, nom+extension (fait avec un "dir /b *.rtf>sources.txt")

    fichier.rtf
    mon doc.rtf
    doc.ument.rtf
    ...


    J'aimerais lire ce fichier texte ligne par ligne et en extraire le nom des documents, mais sans l'extension.

    J'ai trouvé une solution à ce problème comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f %%a in (sources.txt) do (echo %%~na>>tralala.txt)
    Ce qui me donne le résultat suivant :

    fichier
    mon
    doc.ument
    ...

    Comme vous pouvez le constater, si un nom contient un espace, il est coupé . Chose que je ne désire pas vu que c'est avec ce nom que je vais retrouver mon fichier par la suite.

    Je me demandais aussi si il y avait moyen de supprimer les .rtf avec un findstr et une autre commande, mais je ne sais pas comment faire.

    Mon but étant simplement, soit de supprimer le .rtf dans le fichiers texte, soit d'extraire la chaîne de caractère avant le .rtf.

    Merci d'avance.
    Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 147
    Points : 120
    Points
    120
    Par défaut
    J'ai découvert que c'est lorsque le for lit la ligne que le texte situé après un espace est oublié.

    Comment puis-je faire pour que la boucle for lise toute la ligne du fichier texte et pas seulement jusqu'au premier espace ?
    Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 147
    Points : 120
    Points
    120
    Par défaut
    J'ai abandonné l'idée du batch, j'ai fait mon programme en Java
    Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres...

Discussions similaires

  1. [Batch] Spring batch recupération de données dans un fichier texte
    Par kinkin59 dans le forum Spring
    Réponses: 1
    Dernier message: 10/01/2012, 10h53
  2. Réponses: 6
    Dernier message: 05/05/2010, 10h18
  3. [Batch] Remplacer des caractères dans un fichier texte
    Par Benoit Labbey dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 09/06/2009, 16h43
  4. Réponses: 18
    Dernier message: 06/02/2008, 11h51
  5. [batch]Lire la 2ème ligne dans un fichier texte
    Par norac dans le forum Windows
    Réponses: 2
    Dernier message: 07/07/2006, 11h27

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