Bonjour,
je suis en train de me battre avec un script pour effacer les fichiers plus vieux de 5 jours dans une zone nommée 5 days. Le but? Une zone temporaire partagée par tous les employés et chaque nuit ce script efface tous les fichiers et répertoires de plus de 5 jours. Franchement s'il y a des pros de l'Apple script, j’apprécierais beaucoup un petit coup de main.
Voici le script que j'ai écrit :
Il fonctionne en partie mais 2 problèmes se posent :
- Pas récursif (mais ça on peut peut-être scripter pour le rendre récursif, je ne l'ai pas encore fait parce que j'imagine bien après avoir tapé 100 lignes de code trouver que le get every file of folder a une bête option recursive...)
- La creation date n'est pas la date à laquelle le fichier a été écrit mais bien celle à laquelle il a été créé. Vous allez me me dire logique... Ben non, parce que j'ai remplacé dans le script creation date par modification date, même résultat. Je fais un copier coller d'un fichier de fonts dans test et le script efface le document comme s'il avait été créé ou modifié il y a plus que 5 jours.
on run
tell application "Finder"
try
if (list disks) does not contain "Share" then
mount volume "afp://192.x.x.x/Share" as user name "user" with password "password"
end if
on error
display dialog "Erreur de connexion" & return & return & ¬
"Réessayez plus tard" & return & return & ¬
"ou vérifiez que le serveur est branché " buttons {"Okay"} default button 1
end try
end tell
tell application "Finder"
set fiveDaysAgo to (get current date) - (5 * days)
delete (get every file of folder "Share:Test" whose creation date is less than fiveDaysAgo)
end tell
end run
Bonjour,
Pour ce qui est de la récursivité, il suffit d'utiliser l'expression "entire content" qui va rechercher dans tous les sous dossiers:
Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)