Bonsoir,
Retour de la connexion !
Alors je t'ai préparé un petit script qui:
Lorsque 1 ou des fichiers sont glissés dans le dossier:
-copie le fichier dans ce dossier
-vérifie si la taille totale du dossier dépasse la taille maximum renseignée
- Si pas de dépassement de taille OK, sinon crée un nouveau dossier sur le bureau avec comme nom, le nom du dossier de départ avec ajout de "2" (exemple: dossier actuel "maximum" --> crée un dossier "maximum 2" sur le bureau) et y transfère le fichier ayant créé le dépassement de taille. si un dossier de même nom existe, pas de nouvelle création , mais trasfère le fichier dans le dossier existant.
Il te faudra renommer ce nouveau fichier à ta convenance et lui attribuer l'action de dossier.
Dans mon script j'ai fixé (pour essai le maximum à 1 Go.
pour mettre en place ce script action de dossier il faut:
- Ouvrir l’application éditeur de script qui se trouve dans application—> utilitaires.
- Faire un copier coller du script dans une fenêtre de l’application
- Enregistrer sous : (exemple : Taille maxi) sur le bureau
- Déplacer ce fichier dans: Utilisateurs —> « le nom d’utilisateurs » —> Bibliothèque —> Scripts —> Folder Action Scripts (Si les dossiers « scripts » et ou « Folder Action Scripts » n’existent pas il faut les créer.)
- Faire un clic droit sur le dossier à surveiller —> service —> Configuration des actions de dossier…
- Dans le fenêtre qui s’ouvre (choisir un script à joindre sélectionner le script. Cocher la case en haut à gauche (Activer les actions de dossier).
Voilà on peut tout fermer.
j'attends les résutats de tes tests
Bloc de code:
on adding folder items to Mon_Dossier after receiving Liste_Fichiers
tell application "Finder"
set lemax to 1.0E+9
repeat with Mon_Item in Liste_Fichiers
set tailledossier to get size of Mon_Dossier
set Mon_Ext to name extension of Mon_Item
set Mon_Nom to name of Mon_Item
if Mon_Ext is "download" 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
set lefichier to Mon_Item as string
set infoRec to info for file lefichier --recup taille
set lataille to size of infoRec
set total to tailledossier + lataille
if total > lemax then
set chemin to Mon_Dossier as string
set Mon_Temp to text 1 thru ((length of chemin) - 1) of chemin
set I to length of Mon_Temp
repeat while character I of Mon_Temp is not ":"
set I to I - 1
end repeat
set Nom_dossier to text (I + 1) thru (length of Mon_Temp) of Mon_Temp
set Creerdossier to Nom_dossier & " 2"
set part1 to (path to desktop folder) as string
set newdossier to part1 & Creerdossier & ":"
if exists newdossier then
else
make new folder at (path to desktop folder) with properties {name:Creerdossier}
end if
set Mon_Item to Mon_Item as string
move Mon_Item to folder newdossier as alias
end if
end repeat
end tell
end adding folder items to