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 :

Parcourir un répertoire et supprimer les fichiers vides [Batch]


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut Parcourir un répertoire et supprimer les fichiers vides
    Bonjour à tous,

    Je voudrais créer un BAT qui parcour un répertoire et supprime les fichiers .txt vides.

    Attention les fichiers vide font 1Ko et non pas 0Ko sinon j'avai dejà la solution...

    j'ai une première idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    find "test" toto.txt>nul
    if %errorlevel%==0 del toto.txt
    mais elle ne parcour rien du tout...

    Merci de m'aider...

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Je viens de créer une boucle : mais ça ne fonctionne pas très bien et je chercher test hors moi je voudrais chercher "vide" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /r E:\test-vide %%X in (*.txt) do find "test" %%X>nul if %errorlevel%==0 del %%X

  3. #3
    Membre chevronné
    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
    Points : 1 991
    Points
    1 991
    Par défaut
    salut,

    tapes ceci dans une invite de commandes:


  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Je viens de regarder, mais je ne vois pas la réponse à mon problème...

    Peut tu m'éclairer ?

  5. #5
    Membre chevronné
    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
    Points : 1 991
    Points
    1 991
    Par défaut
    cherches de ce coté

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Ouai mais comme je l'ai précisé je ne peux pas me baser sur la taille des fichiers car qu'ils soient vide ou pas il m'affiche la même taille...

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Tes fichiers "vides" ne seraient-ils pas composés de LIGNES vides, mais contenant quand même des données (=taille non nulle) ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    En faite je viens de regarder et un fichier vide fait 2octets et un fichier rempli fait plus dans les 100octets

    mais ont une taille identique sur le disque...

  9. #9
    Membre chevronné
    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
    Points : 1 991
    Points
    1 991
    Par défaut
    essayes ceci:

    pas tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    findstr /s /m "." "*.txt"

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Car j'avais essayer ça aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /r E:\test-vide %%X in (*.txt) do (if %%~zi GTR 0 DEL %%X)
    Mais c'est là que je me suis aperçu que même vide les fichiers avaient une certaine taille

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par I'm_HERE Voir le message
    essayes ceci:

    pas tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    findstr /s /m "." "*.txt"
    Cela me retourne le nom de tout les fichiers contenu dans le repertoire...

  12. #12
    Membre chevronné
    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
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par olivier.x Voir le message
    Cela me retourne le nom de tout les fichiers contenu dans le repertoire...
    non, va retourner tous les fichiers "TXT" contenants au moins "un caractère"

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par I'm_HERE Voir le message
    non, va retourner tous les fichiers "TXT" contenants au moins "un caractère"
    Ce qui voudrai dire que même les fichiers qui me semblent vide contiennent quelque chose...

    Pfff je ne vois plus comment faire...

  14. #14
    Membre chevronné
    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
    Points : 1 991
    Points
    1 991
    Par défaut
    j'ai oublier le /v

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Findstr /m /s /v . "*.txt"

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    OK,

    JE viens de résoudre mon problème avec tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for %%i in (E:\test-vide\*.txt) do if %%~zi LEQ 2 DEL %%i

  16. #16
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    2 octets pour un fichier "vide" = un fichier qui ne l'est pas, mais qui contient une unique ligne vide (= une paire CR/LF uniquement, donc 2 octets).

    Si tu ne gères bien QUE des fichiers textes, ta dernière solution avec le LEQ 2 est effectivement la bonne.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Mais c'est un programme qui genere ces fichiers texte ce qui est surement la raison pour laquelle il y a ce quelque chose...

    Maintenant je m'attelle à la suppréssion par date de création supérieur à 1 mois... un peu plus sport...

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Pour ceux que ça intéresse :

    Voici un batch qui permet de supprimer tout les fichiers dont la date est différente de la date du jour (en l'occurence moi je base uniquement sur le mois mais a vous de l'adapter)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for %%x in (E:\test-vide\test\*.txt) do ( dir /TC %%x | find "/"  >> tmp.txt )
    
    for /f "tokens=1-3 delims=/ " %%a in ('date/t') do ( set DD=%%a & set MM=%%b & set YY=%%c )
    
    for /f "tokens=1-6 delims=/ " %%a in (tmp.txt) do ( if not %MM%==%%b DEL %%f )
    
    DEL tmp.txt

  19. #19
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Attention, avec ton batch : le 1er du mois, si tu le lances, il va te flinguer tous les fichiers du mois précédent, y compris celui de la veille !!
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Attention, avec ton batch : le 1er du mois, si tu le lances, il va te flinguer tous les fichiers du mois précédent, y compris celui de la veille !!
    C'est vrai, je n'avais pas pensé à ça, mais si je lance mon batch tout les 30 du mois alors dans ce cas aucun problème

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/05/2014, 22h31
  2. [LV2009] Supprimer les lignes vides dans un fichier texte
    Par Super2006 dans le forum LabVIEW
    Réponses: 3
    Dernier message: 11/11/2011, 14h32
  3. Réponses: 6
    Dernier message: 30/10/2009, 16h13
  4. Supprimer les lignes vides d'un fichier
    Par Invité dans le forum VBScript
    Réponses: 2
    Dernier message: 26/09/2008, 16h21
  5. Réponses: 2
    Dernier message: 04/05/2006, 13h10

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