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 fichiers datant de X jours


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 63
    Par défaut Supprimer fichiers datant de X jours
    Bonjour,

    Je cherche à faire un script Batch qui me supprimerait mes fichiers datant de X jours et ayant l'extention .txt. Est-ce possible que les fichiers supprimés ne se retrouvent pas dans la corbeille?

    Merci de votre aide.
    En attendant je parcours le forum pour chercher.

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    Bonjour

    en utilisant la commande externe forfiles tu peux supprimer les fichiers plus vieux de X jours

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @echo off
    set fich=C:\documents
    set jour=7
    forfiles -p %fich% -s -m *.txt -d-%jour% -c "cmd /c del @FILE"
    @exit
    Voici un exemple avec -d-10 = 10 jours autour d'un boucle qui le fait dans tous les répertoires nommés test* (test01, test02)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    for /F %%a in ('dir "C:\test*" /b /s /a:d') do (forfiles -p%%a -s -m *.txt -d-10 -c "cmd /c del @FILE")
    pause
    Commande forfiles : http://www.box.net/shared/con2pdz8h5
    Aide forfiles : http://technet.microsoft.com/fr-fr/l.../cc755872.aspx
    Sujet forfiles : http://www.developpez.net/forums/d36...vieux-3-jours/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 35
    Par défaut
    Salut!
    Est-ce possible que les fichiers supprimés ne se retrouvent pas dans la corbeille?
    En DOS les suppressions sont irrémédiables et n'iront pas dans la corbeille.

    Maintenant pour améliorer un peu le script de Acris tu peux faire ceci pour préciser deux éléments dans le batch :
    le chemin d'accès aux fichiers ".txt" ciblés.
    le nombre de jours devant être décomptées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off 
    set fich=chemin d'accès 
    set jour= 
    set /p jour= donner le nombre de jours a deduire: 
    
    forfiles -p%fich% -s -m*.txt -d-%jour% -c"cmd /c del @FILE" 
    pause
    Conditions d'utilisation :
    Forfile.exe doit se trouver dans le même dossier que le batch ou répertoire parent.
    chemin d'accès = chemin complet jusqu'au dossier ciblé
    exemple de chemin --> %systemdrive%\Endroitdestockage
    donner le nombre de jours a deduire = 1 ou 3 ou 20 ou 400 ...

    >danakil1

  4. #4
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Par défaut
    Bonjour,

    Je remonte un peu le sujet, mais cela me pose un problème pour les fichiers qui comportent des espaces, avez vous une idée pour que cela puisse également effacer les fichiers avec espaces?

    Merci d'avance

  5. #5
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Par défaut
    J'ai trouvé pour les fichiers avec espaces, c'est la commande suivante :

    forfiles -p%fich% -s -m*.* -d-%jour% -c"cmd /c del \"@FILE\" "
    Par contre est-il possible d'enchainer cette commande, avec une commande qui supprimerai les dossiers qui sont vide? (puisque la commande si dessus ne supprimer que les fichiers, et non les dossiers)

    Merci

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    Tu ajoutes une boucle


    @echo off

    :our chaque dossier contenu sur le bureau vérifier si la taille est egal à 0 et supprime le dossier.

    for /f %%i in ('DIR /b "%userprofile%\Bureau"') do if %%~zi EQU 0 RD "%userprofile%\Bureau\%%i"
    pause
    remplace le chemin par le tien

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2017
    Messages : 5
    Par défaut forfile.exe
    Citation Envoyé par Acris Voir le message
    Bonjour

    en utilisant la commande externe forfiles tu peux supprimer les fichiers plus vieux de X jours

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @echo off
    set fich=C:\documents
    set jour=7
    forfiles -p %fich% -s -m *.txt -d-%jour% -c "cmd /c del @FILE"
    @exit
    Voici un exemple avec -d-10 = 10 jours autour d'un boucle qui le fait dans tous les répertoires nommés test* (test01, test02)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    for /F %%a in ('dir "C:\test*" /b /s /a:d') do (forfiles -p%%a -s -m *.txt -d-10 -c "cmd /c del @FILE")
    pause
    Commande forfiles : http://www.box.net/shared/con2pdz8h5
    Aide forfiles : http://technet.microsoft.com/fr-fr/l.../cc755872.aspx
    Sujet forfiles : http://www.developpez.net/forums/d36...vieux-3-jours/

  8. #8
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2017
    Messages : 5
    Par défaut forfile.exe
    pardon j ai du mal a suivre le fichier avec le code on l enregistre sous quel format.

    @echo off
    set fich=C:\documents
    set jour=7
    forfiles -p %fich% -s -m *.txt -d-%jour% -c "cmd /c del @FILE"
    @exit

    et le forfile.exe ou on le trouve et ou on le met merci

  9. #9
    Invité de passage
    Inscrit en
    Octobre 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1
    Par défaut Problème de sous-dossier
    Bonjour,

    J'ai déjà créé des batchs pour supprimer des fichiers plus vieux de X jours à l'aide de Forfiles.

    Mon problème aujourd'hui est que j'aimerais supprimer tous les fichiers d'un répertoire qui contient des sous-répertoires et en testant mon batch, j'ai remarqué que la commande forfiles prenait en compte les sous-dossiers en eux-même c'est-à-dire que si j'enlève l'option -s, la commande ne recherche pas les fichiers dans les sous-répertoires mais si le répertoire lui-même est plus vieux de 30 jours (dans mon cas), la console reste ouverte et une question "Etes-vous sûr de vouloir supprimer le dossier 'test' ? Y/N" apparait.

    Cette question est posée pour chaque sous-dossier dans le répertoire concerné par la suppression donc j'en conclu qu'on me demande si je suis sûr de vouloir supprimer le dossier complet.

    Or, je veux juste supprimer tous les fichiers (plusieurs extensions sont inclus dans le dossier) mais je ne sais pas comment régler ce problème sans lister toutes les extensions du répertoire concerné...

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


    PS : Si vous ne comprenez pas ce que je cherche à faire, n'hésitez pas à me demander un exemple.

Discussions similaires

  1. forfiles - Supprimer les fichiers vieux de 3 jours
    Par koKoTis dans le forum Scripts/Batch
    Réponses: 34
    Dernier message: 22/11/2011, 19h20
  2. [Batch] Script de déplacement de fichiers datant de 10 jours
    Par sousket dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 15/06/2011, 17h49
  3. [PHP 5.3] Supprimer fichier vieux de X jours
    Par mamax29 dans le forum Langage
    Réponses: 3
    Dernier message: 17/12/2010, 11h25
  4. Supprimer les fichiers vieux de x jours
    Par zounours-69 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 12/06/2008, 15h11
  5. supprimer fichiers non modifiés depuis X jours
    Par tyrax dans le forum Langage
    Réponses: 2
    Dernier message: 17/05/2006, 18h10

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