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

AppleScript Discussion :

suppression de répertoires en fonction du nom de ceux-ci


Sujet :

AppleScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Par défaut suppression de répertoires en fonction du nom de ceux-ci
    Bonjour,

    Je suis nouveau en apple script.

    J'ai un répertoire principal "MAIN" dans lequel se trouvent des sous-répertoires dont les noms sont des chiffres :

    /MAIN/1200
    /MAIN/1201
    /MAIN/1202
    /MAIN/1203
    /MAIN/1204
    ...

    Je souhaiter réaliser un script qui supprimer automatiquement les sous-répertoires en fonction du noms du sous-répertoire : par exemple supprimer tous les sous-répertoires dont le nom est inférieur à 1202.

    Quelqu'un peut-il me donner quelques pistes pour mettre en oeuvre un tel processus ?

    Par avance merci.

  2. #2
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonsoir Bliscar,

    Voici le script ci-dessous qui correspond à ta demande.
    J'ai ajouté des contrôles que tu peux éventuellement supprimer, mais le script est ainsi plus robuste.
    L'utilisateur peut essayer de saisir n'importe quoi qui ne soit pas un nombre ou encore un nombre, mais qui n'est pas dans la plage des N° de sous répertoires.
    Dans chaque cas, il aura une message d'alerte lui indiquant l'erreur.
    C'est une habitude à prendre, il faut toujours que tes scripts puissent gérer l'utilisateur ... même le plus distrait !

    Si nécessaire, tu peux ajouter, juste avant le "delete", une confirmation indiquant le nombre de sous répertoires qui seront supprimés.
    Avec les exemples de Display Dialog, je te laisse peaufiner...

    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
    25
    26
    27
    28
    29
    30
    31
    32
    set MAIN to choose folder "Sélection du répertoire MAIN" -- sélection du dossier MAIN
    
    tell application "Finder" -- détermination du plus petit et plus grand numéros de sous répertoire
        set Plus_Petit to (name of (first folder of folder MAIN)) as integer
        set Plus_Grand to (name of (last folder of folder MAIN)) as integer
    end tell
    
    
    -- saisie du numéro de répertoire avec vérification que le N° est bien entre le plus grand et le plus petit
    set NumDos to 0
    repeat until NumDos > 0
        set Saisie to display dialog "Saisissez le N° de répertoire en dessous duquel les sous répertoires seront supprimés" & return & "Ce nombre doit être compris entre " & Plus_Petit & " et " & Plus_Grand with title "Numéro de dossier" default answer ""
        try
            set NumDos to (text returned of Saisie) as integer
        on error
            display alert (text returned of Saisie) & " n'est pas un numéro valide !"
            set NumDos to 0
        end try
        if NumDos > 0 then
            if (NumDos < Plus_Petit) or (NumDos > Plus_Grand) then
                display alert (NumDos as string) & " n'est pas dans la plage des numéros valides !"
                set NumDos to 0
            end if
        end if
    end repeat
    
    
    set NumText to NumDos as string
    tell application "Finder"
        set Liste to every folder of folder MAIN whose name is less than NumText
    delete Liste-- suppression de tous les éléments de la liste :Attention, opération irreversible !!
    end tell

    Cordialement

Discussions similaires

  1. Réponses: 15
    Dernier message: 04/09/2014, 15h41
  2. [Batch] Suppression de répertoire en fonction de leur date
    Par renowep dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 17/01/2014, 21h23
  3. Réponses: 9
    Dernier message: 22/08/2007, 12h25
  4. [Mail] fonction mail / nom de l'expediteur
    Par santoya dans le forum Langage
    Réponses: 1
    Dernier message: 03/03/2006, 18h17
  5. Script de suppression de fichiers en fonction de la date
    Par yellow174 dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 06/02/2006, 11h57

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