Mon script ne fonctionne plus

Skyop33

Membre enregistré
27 Août 2023
3
1
31
Bonjour,

Jusqu'à il y a peu j'utilisais un script qui avait la fonction suivante :

A la fin d'un téléchargement d'une vidéo :
- Si la durée est >4500 secondes, déplace la vidéo du dossier "Téléchargements" vers "Documents>Rushs & Masters>Masters"
AUTREMENT :
- Si la taille est > 500000000 octets, déplace la vidéo du dossier "Téléchargements" vers Documents>Rushs & Masters>Rushs"

Ce script fonctionnait parfaitement jusqu'à ce que je reformate mon Mac.

Depuis, il ne fonctionne plus.

Je précise que avant le reformatage j'ai copié le dossier " Folder Action Script" depuis "Users/MonNomdUtilisateur/Library/Scripts" et que je l'ai collé au même emplacement après reformatage.

Je précise également que les dossiers dans lesquels doivent être déplacer les vidéos ont le même nom qu'auparavant.

Voici le script en question :

AppleScript:
property FVideo : {"dv", "DV", "mov", "MOV", "VOB", "vob", "divx", "mp4", "MP4", "avi", "AVI", "MKV", "mkv"}
property DVideo : "mes_Videos"

on adding folder items to Mon_Dossier after receiving Liste_Fichiers
    tell application "Finder"
       
        set Dossiers_Ajout to {DVideo}
       
        repeat with Mon_Item in Liste_Fichiers
            set Mon_Ext to name extension of Mon_Item
            set Mon_Nom to name of Mon_Item
            if Mon_Ext is "downloads" then
                set Mon_Temp to text 1 thru ((length of Mon_Nom) - 9) of Mon_Nom
                set I to length of Mon_Temp
                repeat while character I of Mon_Temp is not "."
                    set I to I - 1
                end repeat
                set Mon_Ext to text (I + 1) thru (length of Mon_Temp) of Mon_Temp
                set Mon_Nom to text 1 thru I of Mon_Temp
            end if
           
            try
                set Mon_Fichier to Mon_Item as alias
                set OldSize to -1
                repeat until (size of Mon_Fichier) = OldSize
                    set OldSize to (size of Mon_Fichier)
                    if OldSize = 0 then set OldSize to -1
                    delay 0.5
                end repeat
            end try
           
            if Mon_Ext is in FVideo then
                tell application "Finder"
                    set lefichier to Mon_Item as string
                   
                    set infoRec to info for file lefichier --recup taille
                    set lataille to size of infoRec
                    set duree to do shell script "/usr/local/bin/exiftool -Duration " & quoted form of POSIX path of lefichier --récupère la durée au format texte exiftool
                    set AppleScript's text item delimiters to {":"} --defini le séparateur
                    set NB to count of text items of duree -- verifie si duree est inférieur à 30 secondes (notation différente)
                    if NB = 2 then --recup duree en secondes
                        set lesseconde to text item 2 of duree
                        set AppleScript's text item delimiters to {"."}
                        set seconde to text item 1 of lesseconde
                        set AppleScript's text item delimiters to {""}
                    else -- recup duree si supérieure à 30 sec (format hh : mn : sec )
                        set AppleScript's text item delimiters to {":"}
                        set seconde to get last text item of duree as string -- récupère les secondes
                        set minute to text item 3 of duree as string -- récupère les minutes
                        set heure to text item 2 of duree as string --récupère les heures
                        set seconde to seconde + (minute * 60) + (heure * 3600)
                        set AppleScript's text item delimiters to {""}
                    end if
                   
                end tell
               
                if seconde > 4500 then
                    set dossier_videos to ((path to home folder) & "Documents:Rushs & Masters:Masters:") as string
                    move Mon_Item to folder dossier_videos as alias
                else
                    if lataille > 500000000 then
                        set dossier_videos to ((path to home folder) & "Documents:Rushs & Masters:Rushs:") as string
                        move Mon_Item to folder dossier_videos as alias
                    end if
                end if
               
               
            end if
        end repeat
       
    end tell
end adding folder items to

Y a t-il une manipulation que je dois faire afin de "relancer le script" ?

Merci à vous,
 
Bonjour,

Le message d'erreur pourrait nous en dire plus !

Il te faut réinstaller le logiciel exiftool

Il faut également définir l'action de dossier à ton dossier téléchargement.
 
  • J’aime
Réactions: Bicus
Bonjour,

Après vérification il n'existe pas.

Je l'ai crée mais ça n'a pas résolu le problème.
Il ne faut pas juste créer un dossier exiftool, il faut installer correctement et au bon endroit ce programme auquel ton script fait appel (peut-être via Homebrew) :
 
Pas besoin de Homebrew !
La page officielle fait très bien l'affaire, et l'installe au bon endroit :
 
Merci à tous pour vos réponses.

En téléchargeant Exiftool et en définissant l'action de dossier ça a fonctionné ! :up:

Merci beaucoup, j'aurai jamais trouvé tout seul ! :shame:
 
  • J’aime
Réactions: stefhan