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 :

Nombre de lignes d'un fichier ?


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut Nombre de lignes d'un fichier ?
    (Re)Bonjour

    J'essaie de recopier le contenu d'un fichier, en omettant sa dernière ligne.

    J'ai commencé par chercher avec un for, mais il n'y a pas de paramètres (comme skip) qui permette d'ignorer les dernières lignes d'un fichier.

    J'ai donc essayé de calculer le nombre de lignes en le parcourant une première fois, et en ajoutant '+1' à une variable. En fin de boucle, j'aurais eu le nombre de lignes... Mais soit je suis encore plus boulet que je ne l'aurais cru, soit ya psa d'addition de nombre via le DOS/CMD

    J'avoue que je ne sais pas comment m'y prendre... Auriez-vous un indice, une piste, ou même un soluton s'il vous plait ?

  2. #2
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    C'est comme sa:

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Merci beaucoup, du coup je devrais pouvoir m'en sortir !

  4. #4
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Si tu arrive a supprimer la dernière ligne montre moi comment tu fait

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Rah je bloque, c'est dommage

    Mon fichier de bookmarks fait 93 lignes, en commencant à la ligne 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SET nombre_lignes=1
    FOR /F "tokens=* usebackq delims= " %%n IN ("bookmarks_mairie.html") DO set /a nombre_lignes+=1
    
    echo Nombre de lignes : %nombre_lignes%
    Ce petit bout de code me confirme que le compteur est à 93 lignes.
    Jusque là, tout va bien.

    Maintenant je vais essayer de relire ce fichier, ligne par ligne.
    Si la ligne que je lis n'est pas la n°83, alors je la recopie dans mon nouveau fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SET num_ligne=0
    FOR /F "tokens=* usebackq delims= " %%r IN ("bookmarks_mairie.html") DO set /a num_ligne+=1 & IF NOT "%num_ligne%"=="%nombre_lignes%" echo %%r >> "bookmarks_complet.html"
    Et là... Ca ne m'en recopie qu'environ 75...
    Je regarde donc plus attentivement la structure du fichier bookmarks :
    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
    <!DOCTYPE NETSCAPE-Bookmark-file-1>
    <!-- This is an automatically generated file.
         It will be read and overwritten.
         DO NOT EDIT! -->
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
    <TITLE>Bookmarks</TITLE>
    <H1 LAST_MODIFIED="1178880106">Bookmarks</H1>
    
    <DL><p>
        <DT><A HREF="http://intranet" ADD_DATE="1129204579" LAST_VISIT="1129204778" LAST_MODIFIED="1129204849"  LAST_CHARSET="ISO-8859-1" ID="rdf:#$rKEcG1">Intranet</A>
        <DT><H3 ADD_DATE="1129206086" LAST_MODIFIED="1129206221" ID="rdf:#$wkFLm2">Documentation</H3>
            <DL><p>
            <DT><A HREF="http://www.pagesjaunes.fr/" ADD_DATE="1129205678" LAST_MODIFIED="1129206589" LAST_CHARSET="ISO-8859-1" ID="rdf:#$kkFLm2">Pages jaunes : annuaire téléphonique</A>
            <DT><A HREF="http://www.voyages-sncf.com/" ADD_DATE="1129205721" LAST_CHARSET="ISO-8859-1" ID="rdf:#$mkFLm2">SNCF</A>
            <DT><A HREF="http://www.airfrance.fr/" ADD_DATE="1129205747" LAST_CHARSET="UTF-8" ID="rdf:#$nkFLm2">Air France</A>
            <DT><A HREF="http://www.viamichelin.com/" ADD_DATE="1129205688" LAST_MODIFIED="1129206595" LAST_CHARSET="ISO-8859-1" ID="rdf:#$lkFLm2">ViaMichelin : Itinéraire, Route, Plan, Carte de France, Plan de Ville, Carte Europe</A>
            <DT><A HREF="http://www.mappy.fr/" ADD_DATE="1129205811" LAST_VISIT="1129205815" ICON="data:image/x-icon;base64,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" LAST_CHARSET="ISO-8859-1" ID="rdf:#$pkFLm2">Mappy - plans, itinéraires, guide d'adresses en Europe</A>
        </DL><p>
        ...
    On note deux choses :
    - Il peut y avoir des sauts de lignes
    - Il peut y avoir des ligne extrêmement longues (Encodage des icones au format base64)

    D'une part je ne sais pas supprimer le paramètre ICON qui est trop long.
    Si je pouvais le supprimer via mon .BAT, ca serait parfait...

    D'autre part, après avoir supprimé les paramètres ICON manuellement, je me suis attaqué au problème des sauts de lignes. Je me suis dit qu'il suffisait de modifier la boucle FOR et d'ajouer un echo. lorsque %%r serait vide...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SET num_ligne=0
    FOR /F "tokens=* usebackq delims= " %%r IN ("bookmarks_mairie.html") DO set /a num_ligne+=1 & IF NOT "%num_ligne%"=="%nombre_lignes%" echo %%r >> "bookmarks_complet.html" || IF "%%r%a"=="a" echo. >> "bookmarks_complet.html"
    Mais au final, je ne parviens pas à écrire ma boucle correctement. Le saut de ligne n'est jamais ajouté

    Je pense que je vais devoir laisser tomber, car même si il me semble possible de résoudre le problème du saut de ligne, je ne vois pas comment résoudre le problème des paramètres ICON.

    Merci pour toute cette aide

  6. #6
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Citation Envoyé par Nyphel
    Rah je bloque, c'est dommage

    Mon fichier de bookmarks fait 93 lignes, en commencant à la ligne 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SET nombre_lignes=1
    FOR /F "tokens=* usebackq delims= " %%n IN ("bookmarks_mairie.html") DO set /a nombre_lignes+=1
    
    echo Nombre de lignes : %nombre_lignes%
    Que fait le usebackq dans cette boucle ?

  7. #7
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Citation Envoyé par Nyphel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SET num_ligne=0
    FOR /F "tokens=* usebackq delims= " %%r IN ("bookmarks_mairie.html") DO set /a num_ligne+=1 & IF NOT "%num_ligne%"=="%nombre_lignes%" echo %%r >> "bookmarks_complet.html"
    Tu ne peut pas utiliser la variable a l'intérieur d'un boucle for

    Fait plutot comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SET num_ligne=0 
    FOR /F "tokens=* usebackq delims= " %%r IN ("bookmarks_mairie.html") DO set /a num_ligne+=1 & call :suite 
    :suite
    IF NOT "%num_ligne%"=="%nombre_lignes%" echo %%r >> "bookmarks_complet.html"

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Hé bien je ne sais pas trop pourquoi ce useback, mais si je l'enlève il ne voit que 2 lignes... Peut-être parce que j'ai des lignes qui commencent pas des espaces

    Ensuite j'ai voulu utiliser le code que tu me recommandes, avec l'étiquette, mais dans ce cas plus rien ne marche. J'obtiens une boucle qui semble infinie, avec des pauses dedans (Il me demande sans cesse d'appuyer sur une touche pour continuer) et ca écrit des %r dans le fichier

  9. #9
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Essaye comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SET num_ligne=0 
    FOR /F "tokens=* usebackq delims= " %%r IN ("bookmarks_mairie.html") DO set VrTest=%%r& set /a num_ligne+=1& call :suite 
    :suite
    IF NOT "%num_ligne%"=="%nombre_lignes%" echo %VrTest% >> "bookmarks_complet.html"
    Mais attention le call :suite apelle le code qui se trouve sous l'étiquette suite, si tu rajoute du code dessous il sera aussi exécuté.

  10. #10
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Première chose, echo %%r >> file avec %%r vide n'ajoutera rien c'est normal.
    Pour ajouter une ligne blanche il faut utiliser echo.

    Seconde chose, pour le paramètre ICON, avec findstr tu pourras détécter la présence de ICON dans la ligne. Ensuite il te suffira de faire une autre boucle for juste sur cette ligne avec les delimiteurs qui vont bien (avec un call par ex pour une plus grand lisibilité du code - attention à l'utilisation de call :etiquette si tu ne l'a jamais utilisé, cf rq de Kokotis, bien que sa remarque soit incomplète, mais tu devrais t'en rendre compte rapidement en essayant )

    Ensuite tu peux tout à fait utiliser la variable dans ta boucle for. Il te faudra par contre utiliser les expansions retardées de variables (cf l'aide de la boucle for pour plus d'explication).

    Enfin si tu veux utiliser le call de kokotis, il y a plus simple que de passer par une variable VrTest puisque tu peux simplement passer des arguments à ton call comme tu le ferais avec un fichier (récupération de l'agument avec %1).

    Ce sont des remarques après lectures du topic, je n'ai pas essayé pour l'instant de résoudre complétement ton problème ni testé le code proposé.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  11. #11
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Citation Envoyé par Drizzt [Drone38]
    Enfin si tu veux utiliser le call de kokotis, il y a plus simple que de passer par une variable VrTest puisque tu peux simplement passer des arguments à ton call comme tu le ferais avec un fichier (récupération de l'agument avec %1).
    J'avai oublier ca

  12. #12
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Sinon solution beaucoup plus simple à un bémol pret:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    setlocal enableExtensions
    
    for /F "delims=" %%i in (fichier_sans_dbles_quotes) do (
        echo %%i > travail.txt
    )
    
    findstr /V /G:travail.txt fichier_sans_dble_quotes >> dest_sans_dbles_quotes
    L'utilisation de /G et donc d'un fichier de travail permet de palier au problème de caractères perturbants dans ta dernière ligne.
    ! Attention il y a bien un seul > dans la redirection dans le for !

    Bémol: si la ligne existe deux fois dans le fichier elle sera supprimée deux fois.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

Discussions similaires

  1. [C#] Nombre de lignes d'un fichier xls (Excel)
    Par BouB dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/03/2009, 10h58
  2. Nombre de lignes d'un fichier
    Par sygale dans le forum Linux
    Réponses: 2
    Dernier message: 20/04/2005, 17h45
  3. Nombre de ligne d'un fichier
    Par charliejo dans le forum MFC
    Réponses: 4
    Dernier message: 07/04/2005, 10h10
  4. [Fichier] Nombre de ligne dans un fichier texte
    Par NewSer dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2004, 16h58
  5. Réponses: 2
    Dernier message: 02/03/2004, 19h38

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