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 :

Supprimer le fichier le plus ancien d'un dossier [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 10
    Points
    10
    Par défaut Supprimer le fichier le plus ancien d'un dossier
    Bonjour,

    Je me demandais si il y avait un moyen simple de supprimer le fichier le plus ancien d'un dossier en batch. C'est pour une gestion de sauvegarde avec le planificateur de tâches. J'ai trouvé un truc un peu tordu pour contourner le problème mais je suis aussi bloqué dessus.

    Merci d'avance.
    @+ Boris

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 840
    Points : 9 225
    Points
    9 225
    Par défaut

    Postez votre code et

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 10
    Points
    10
    Par défaut
    J'ai mis le point sur lequel je bloque dans une autre conversation parce que c'est très spécifique.
    Ce qui m'intéresse surtout ici c'est de savoir si il existe une fonction simple ou un code très simple qui permet de supprimer le fichier le plus ancien dans un dossier.

  4. #4
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Pour connaître la date et heure de tes fichiers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    @echo off
    
    set $rep=TON_REPERTOIRE
    
    FOR /f %%a in ('dir /b "%$rep%') do (echo %%~na%%~xa  %%~ta)
    
    pause
    A partir de ça tu peux facilement faire le code qui te calcul lequel est le plus vieux.


    Amicalement

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Salut sachadee, hackoofr et bienvenu Egan69,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @ECHO OFF
    SETLOCAL EnableDelayedExpansion
    SET OLD=
    FOR /F %%i IN ('DIR /OD /B') DO IF "!OLD!"=="" SET OLD=%%i
    DEL /P %OLD%

  6. #6
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Merci Vodiem (et +1)

    Comme quoi on ne connaît jamais assez ses classiques !

    Amicalement

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 10
    Points
    10
    Par défaut
    vodiem: où est-ce que tu fais intervenir le répertoire de travail ?

  8. #8
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    @Egan69
    pour faire simple: avant le FOR une commande "CD \dossier"

    @sachadee
    merci

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 10
    Points
    10
    Par défaut
    Je ne vois pas ce que tu veux faire.

  10. #10
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Citation Envoyé par Egan69 Voir le message
    Je ne vois pas ce que tu veux faire.
    euh... t'aider ???
    c'est la bonne réponse ?

    > "DIR /OD /B" : lister les fichiers par ordre chrono.
    > FOR ... récupérer uniquement le premier nom de fichier sortie (le plus ancien) parmi l'ensemble : en le mettant dans une variable 'OLD' si celui-ci n'existe pas.
    > SETLOCAL EnableDelayedExpansion pour permettre la lecture de la nouvelle valeur OLD.

    mais si tu vois pas ce que je veux faire avec un "CD \Dossier"... c'est je crois pour changer de répertoire mais ça tu le gardes pour toi...

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 10
    Points
    10
    Par défaut
    Donc ce serait ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @ECHO OFF
    SETLOCAL EnableDelayedExpansion
    SET OLD=
    CD \dossier
    FOR /F %%i IN ('DIR /OD /B') DO IF "!OLD!"=="" SET OLD=%%i
    DEL /P %OLD%
    Je ne mets rien dans le set old ?

  12. #12
    Membre à l'essai
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 10
    Points
    10
    Par défaut
    Ca marche. Merci pour ta reponse.
    Est-ce que tu peux jetter un coup d'oeil a mon post sur la recuperation de la premiere ligne d'un fichier txt ? C'est une solution pour le meme probleme mais on ne parvient pas a le faire fonctionner.

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

Discussions similaires

  1. Comment trouver le fichier le plus ancien/récent dans un répertoire ?
    Par YVESTA dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 27/05/2011, 15h15
  2. Réponses: 1
    Dernier message: 23/07/2010, 21h39
  3. Supprimer les fichiers Excel plus vieux que 7 jours
    Par jeje00 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/07/2009, 21h05
  4. Réponses: 4
    Dernier message: 06/08/2008, 15h52
  5. Supprimer le fichier le plus ancien dans un dossier
    Par sweaty dans le forum Delphi
    Réponses: 5
    Dernier message: 25/02/2007, 17h33

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