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 :

Lister les répertoires dans un fichier [Batch]


Sujet :

Scripts/Batch

  1. #1
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut Lister les répertoires dans un fichier
    Bonjour,

    Je souhaiterais lister les répertoires et sous répertoires mais je souhaite exclure par exemple le fichier "index.txt" se trouvant à la racine des répertoires à lister et exclure tous les sous-répertoires comportant les fichiers ayant pour extension ".wav"

    J'ai commencé par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dir /b d:\nom_du_lecteur > fichier_en_sortie
    Un petit coup de main s'il vous plaît ?

    Merci

  2. #2
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Je ne me souvenais plus de la commande "tree" qui me convient dans le cas présent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tree /F /A d:\songs > out.txt
    Est-il possible de compter le nombre de répertoires et sous-répertoires + fichiers et de supprimer les 2 premières lignes en sortie dont l'affichage est le suivant:
    Structure du dossier pour le volume Backup
    Le num‚ro de s‚rie du volume est 00000002 7C81:27FF
    Merci d'avance

  3. #3
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Bon bon j'avance doucement. Aujourd'hui mon problème est le suivant:

    J'obtiens avec la commande "tree" l'affichage suivant:
    Z:\SONGS
    | make_lowercase.bat
    | make_treelist.bat
    | tmp.txt
    | wishlist.txt
    |
    +---Emigrate
    | \---2007_Emigrate
    | | 01_emigrate.flac
    | | 02_wake_up.flac
    Je souhaiterais supprimer la 2, 3, 4 et 5ième ligne en gardant la 1ère

    Est-ce possible ?

    Merki

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Points : 247
    Points
    247
    Par défaut
    Un truc du genre peut etre :


    for /f %%a in ('dir /b /ad "d:\toto"^') DO (FIND /V "wav" | ECHO %%a )

  5. #5
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    J'ai trouvé un peu plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    copy out.txt tmp.txt
    find /v /i ".txt" < tmp.txt > out.txt
    del %src%\tmp.txt
    Il me supprime uniquement les lignes dont les fichiers portent l'extension ".txt" mais je voudrais également les ".wav".

    Je pensais que l'on pouvait spécifier plusieurs champs strings avec la commande find ?

  6. #6
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Il me reste une modification à apporter afin que j"obtienne le résultat souhaité à savoir lorsque j'exécute mon script, j'obtiens ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    D:\SONGS
    |   
    +---Emigrate
    |   \---2007_Emigrate
    Je souhaiterai remplacer "D:\SONGS" par "Playlist" ?

    Une idée ?

    Voici le code:
    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
    25
    26
    27
    28
    29
    30
    @echo off
    
    set src="d:\songs"
    
    set ext_f="*.flac"
    set ext_w="*.wav"
    set all_d="*.*"
    
    set tmp_f0="%src%\tmp0.txt"
    set tmp_f1="%src%\tmp1.txt"
    set out_f="%src%\playlist.txt"
    
    tree /f /a %src% > %tmp_f0%
    more /e +2 %tmp_f0% > %out_f%
    del %tmp_f0%
    
    copy %out_f% %tmp_f0%
    find /v /i ".bat" < %tmp_f0% > %tmp_f1%
    find /v /i ".txt" < %tmp_f1% > %out_f%
    del %tmp_f0% %tmp_f1%
    
    set /a cpt_f=0
    set /a cpt_w=0
    set /a cpt_d=0
    
    for /f %%a in ('dir /s /b /a:-d %ext_f%') do set /a cpt_f+=1
    for /f %%a in ('dir /s /b /a:-d %ext_w%') do set /a cpt_w+=1
    for /f %%a in ('dir /s /b /a:d %all_d%') do set /a cpt_d+=1
    
    echo %cpt_f% flac file(s), %cpt_w% wav file(s) and %cpt_d% directorie(s) >> %out_f%

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Points : 247
    Points
    247
    Par défaut
    Bonjour
    playlist c'est quoi exactement que contient il ???

  8. #8
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    j'ai trouvé la solution

    Je voulais simplement remplacer le "D:\SONGS" par le mot "Playlist"

    Merci à tous pour votre aide

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

Discussions similaires

  1. Lister les répertoires sans fichier (pas vide)
    Par Tchupacabra dans le forum WinDev
    Réponses: 13
    Dernier message: 16/05/2014, 18h56
  2. [Tableaux] Lister tous les répertoires dans une liste
    Par cdevl32 dans le forum Langage
    Réponses: 10
    Dernier message: 01/03/2008, 19h20
  3. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 21h39
  4. Supprimer les guillemets dans un fichier après écriture
    Par soulryo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 01/03/2005, 12h39
  5. |VB6] Comment Lister les liens vers des fichiers d'une page web
    Par Mayti4 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 18/01/2005, 19h17

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