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 :

Script qui efface un répertoire "Temp"


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Homme Profil pro
    PLM IT Consultant
    Inscrit en
    Novembre 2003
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : PLM IT Consultant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 202
    Points : 86
    Points
    86
    Par défaut Script qui efface un répertoire "Temp"
    Bonjour,

    j'ai lu plusieurs de vos posts mais je n'arrive pas encore à adapter mon script existant. Actuellement, j'ai un script qui efface tout les fichiers qui sont plus vieux que de 15 jours ainsi que les dossiers vides.

    Cependant, j'ai un problème, il travaille sur la date de modification et non sur la date de création du fichier.

    Est-ce que quelqu'un arriverait à m'aider?

    Voici le script:

    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
    rem VARIABLES / CONSTANTES :
    rem ------------------------------------------------------------
    rem Cette variable définie le nombre de jour que doivent être garder les fichiers:
    setlocal enabledelayedexpansion
    set jours=15
    
    rem Création d'un tableau pour les dossiers TEMP
    set tab1="Achats"
    set tab2="Administration"
    set tab3="Commerciale"
    set tab4="CustomerService"
    set tab5="Direction"
    set tab6="Production"
    set tab7="Qualite"
    set tab8="R&D"
    
    for /l %%a in (1,1,8) do (
    rem Effacement des fichiers plus vieux de 15 jours
    forfiles /p !tab%%a! /s /d -%jours% /m *.* /c "cmd /c del /F /Q @FILE"
    
    rem Effacement des dossiers vides
    for /f "tokens=*" %%i in ('dir /s /b /ad !tab%%a!\* ^| sort /r') do rd "%%~i"
    )
    Merci beaucoup
    "Qu'est-ce qui est venu le premier à la vie? Le compilateur ou le code source"

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Points : 738
    Points
    738
    Billets dans le blog
    2
    Par défaut
    tu peux essayer quelque chose comme ça (je n'est pas testé le code)

    Code bat : 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
    31
    32
    rem VARIABLES / CONSTANTES :
    rem ------------------------------------------------------------
    rem Cette variable définie le nombre de jour que doivent être garder les fichiers:
    setlocal enabledelayedexpansion
    set jours=15
     
    rem Création d'un tableau pour les dossiers TEMP
    set tab1="Achats"
    set tab2="Administration"
    set tab3="Commerciale"
    set tab4="CustomerService"
    set tab5="Direction"
    set tab6="Production"
    set tab7="Qualite"
    set tab8="R&D"
     
    set /a "timestamp=((%date:~6,4% * 360) + (%date:~3,2% * 30) + %date:~0,2%) - %jours%"
     
    for /l %%a in (1,1,8) do (
      rem Effacement des fichiers plus vieux de 15 jours
      for /r "!tab%%a!" %%b in (*) do (
        for /f "tokens=1-3 delims=/" %%c in ("%%~tb") do (
          set /a "file_timestamp=((%%e * 360) + (%%d * 30) + %%c) - %jours%"
        )
        if %timestamp% LSS !file_timestamp! del /F /Q "%%~b"
      )
     
      rem Effacement des dossiers vides
      rem Je suis pas sûr de ta commande, celle en remarque peut être plus lisible
      rem for /f "delims=" %%i in ('dir /s /b /ad !tab%%a!\* ^| sort /r') do rd "%%~i"
      for /f "tokens=*" %%i in ('dir /s /b /ad !tab%%a!\* ^| sort /r') do rd "%%~i"
    )
    Le gourou dicte la ligne (de commande) à suivre ...

    Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
    ainsi que le Cour sur la ligne de commande et des scripts

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/03/2011, 10h58
  2. Script qui scanne un répertoire
    Par sway dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/02/2006, 14h07
  3. script qui explore les sous-répertoire ?
    Par farenheit dans le forum Flash
    Réponses: 9
    Dernier message: 20/07/2005, 12h02

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