IPB

Bienvenue invité ( Connexion | Inscription )

> Applescript : Erreur lors de l'exécution d'un script de renommage
Options
Inferi
posté 2 Jul 2021, 12:02
Message #1


Nouveau Membre


Groupe : Membres
Messages : 2
Inscrit : 2 Jul 2021
Membre no 214 260



Bonjour à tous,

Je suis nouvelle sur ce forum, qui m'a déjà bien aidée smile.gif

J'aurais besoin d'un petit conseil relatif à l'exécution d'un script.
Je suis en stage dans une entreprise qui a besoin de normaliser la nomenclature de ses fichiers pour faciliter leur inventaire/manipulation.

La nomenclature que nous avons retenue est "AAAAMMJJ_TITRE_SOUS-TITRE-EVENTUEL".

Pour les fichiers plus vieux, j'ai pu me faire des routines en mêlant Automator, Namechanger et manuellement car les noms étaient parfois très variables.
Or, j'arrive dans une période où le nommage est dans l'ordre inverse avec un autre format de date : "TITRE SOUS-TITRE-EVENTUEL AAMMJJ". J'ai donc besoin de déplacer la date en première position et de rajouter le préfixe "20" pour avoir un format à 8 chiffres au lieu de 6, ce que ne permettent pas (à ma connaissance) Namechanger et Automator.

Grâce à une réponse à un autre post sur ce même forum, j'ai écrit un script Applescript que je pense inclure dans un processus Automator pour corriger certains détails.
Le voici (avec très certainement des erreurs/passages inutiles, c'est la première fois que je fais ça) :

Code
tell application "Finder"
    set chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à renommer"
    my inspecter(chemin)
    
end tell

on inspecter(un_dossier)
    tell application "Finder"
        -- traitement des fichiers :
        set les_fichiers to files of un_dossier
        
        repeat with chaque_fichier in les_fichiers
            -- traitement d'un fichier
            tell application "Finder"
                
                
                
                set nom to name of chaque_fichier --recupere le nom du fichier
                set extens to document file nom in un_dossier --recupere l extension du fichier
                set lextension to name extension of extens
                set sauv to AppleScript's text item delimiters
                set AppleScript's text item delimiters to {"."}
                set elements to text items of nom
                set nomcourt to items 1 thru -2 of elements as string
                set ancien_nom to nomcourt -- nom sans extension
                set AppleScript's text item delimiters to sauv
                
                set numero to offset of "21" in ancien_nom
                set numero to numero - 1
                set numero to characters 1 thru numero of ancien_nom
                set debut to result
                
                
                
                
                set numero to offset of "21" in ancien_nom
                set numero to numero + 1
                set fin to characters numero thru end of ancien_nom
                set fin to result
                
                
                
                
                set nouveaunom to ("202" & fin & "_" & debut & "." & lextension) as string
                set name of file nom to nouveaunom
                
            end tell
        end repeat
    end tell
end inspecter



Sauf que quand je l'exécute sur des fichiers test, je reçois ce message d'erreur :
error "Erreur dans Finder : Il est impossible de régler file [Ancien nom du fichier] à [Nouveau nom souhaité]." number -10006 from file "Ancien nom du fichier"

Je précise que le "Nouveau nom souhaité" correspond au résultat que je souhaite obtenir, avec quelques corrections qui peuvent être apportées en incluant le script dans un processus Automator. D'ailleurs, s'il faut enlever certains éléments (notamment la sélection du dossier en début de script, etc) pour que je puisse l'exécuter depuis Automator, n'hésitez pas à me le faire savoir, c'est tout un monde pour moi (déjà que Mac n'est pas mon environnement de base...)!

Merci beaucoup de m'avoir lue jusque là (et pour votre indulgence), j'espère que j'ai été assez claire...

Bonne journée !


Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 20th May 2024 - 09:24