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 :

Synchronisation de listes de fichiers


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut Synchronisation de listes de fichiers
    Bonjour,

    Je dispose d'un fichier texte contenant une liste de fichiers (avec chemin complet).

    Je souhaite, dans une arborescence donnée, supprimer tous les fichiers n'appartenant pas à celle liste.

    Je pense au processus suivant :

    a) Je récupère :
    - la liste contenue dans le fichier (liste A),
    - le dir de mon arborescence (liste B),
    (les deux listes sont triées par ordre alpha).

    b) Je prends le premier élément de ma liste B.

    c) Je balaye la liste A tant que l'élément de A est < à l'élément de B.

    d) Si, lorsque je m'arrête, l'élément de A = celui de B, je garde l'élement de B, sinon, je le supprime.

    e) Je prends l'élément suivant de la liste B ... et ainsi de suite.


    Je vois comment balayer la liste B, mais je ne sais pas comment balayer en parallèle la liste A (conformément au c) ci-dessus).

    Quelqu'un a-t-il une idée ?

    Philippe

  2. #2
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Salut,

    Avec l'aide de findstr + cette discussion, tu devrais t'en sortir.

  3. #3
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Merci beaucoup, je vais aller dans ce sens.

    Bonsoir.

    Philippe

  4. #4
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Bonjour,

    Je piétine ...

    a) J'ai un fichier texte contenant une liste de fichiers (Liste.txt)

    b) Je balaye un répertoire à la recherche de fichiers n'appartenant pas à cette liste et, si c'est le cas, j'écris le nom du fichier dans Erreurs.txt
    Voici le test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo Liste.txt | findstr /i c:/"%%~ni%%~xi" > NUL
    if errorlevel 1 ...
    c) TOUS les fichiers de mon répertoire apparaissent en erreur, même s'ils appartiennent à Liste.txt

    Il doit y avoir un bug dans mon test.

    J'ai joint en pj le fichier Liste.txt et le fichier Erreurs.txt

    Merci pour toute aide.

    Philippe
    Fichiers attachés Fichiers attachés

  5. #5
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    C'est une blague tes pièces jointes ou quoi ???
    Bon, passons !

    1) T'as ton fichier liste.txt
    2) Tu listes le contenu de ton répertoire dans rep.txt par exemple
    3) Tu fais la comparaison :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    findstr /i /v /g:liste.txt rep.txt > erreurs.txt

  6. #6
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Merci pour ta réponse.

    Concernant mes pièces jointes, tu peux très bien me dire qu'elles ne conviennent pas, sans pour autant utiliser ce ton moqueur...

    Je voulais juste montrer :

    a) un extrait de la liste des fichiers autorisés,
    b) un exemple de nom de fichier lu, considéré comme absent de la liste alors qu'il y figure pourtant, et donc écrit par mon script dans le fichier des erreurs.

    Tout celà au cas où le problème ne vienne pas de mon script mais des chaînes de caractères.

    J'ai testé la solution que tu proposes en prenant un fichier contenant une liste de noms de fichiers (H:\liste.txt) , en le recopiant en H:\ok.txt puis en supprimant de H:\ok.txt quelques noms de fichiers.

    findstr /i /v /g:H:\ok.txt H:\liste.txt > erreurs.txt me donne en erreurs.txt toute la liste.txt

    Fallait-il que les listes soient triés par ordre alphabétique ou quelque chose que ça ?

    Bonsoir.

Discussions similaires

  1. Synchronisation à partir d'une liste de fichiers
    Par babeley dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 18/11/2011, 13h55
  2. Réponses: 7
    Dernier message: 19/09/2004, 22h01
  3. Liste de fichiers et de répertoires
    Par Freakazoid dans le forum C++
    Réponses: 4
    Dernier message: 09/08/2004, 17h16
  4. liste des fichiers d'un répertoire
    Par am dans le forum C
    Réponses: 3
    Dernier message: 04/08/2003, 17h03
  5. [Kylix] Liste des fichiers d'un répertoire
    Par Houben Jacques dans le forum EDI
    Réponses: 3
    Dernier message: 30/11/2002, 21h14

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