Script de vidage de dossier

Fab'Fab

Voight-Kampf Tester
Club iGen
5 Décembre 2000
16 055
3 184
Salut.
Je cherche à automatiser le vidage auto d'un dossier une fois par semaine.
J'essaye de ma lancer sur Applescript, mais tout ce que j'arrive à faire c'est afficher le contenu de mon dossier.
Je voudrais envoyer son contenu dans la corbeille et vider celle-ci...
Une idée?
Merci!
 
Fab'Fab a dit:
Salut.
Je cherche à automatiser le vidage auto d'un dossier une fois par semaine.
J'essaye de ma lancer sur Applescript, mais tout ce que j'arrive à faire c'est afficher le contenu de mon dossier.
Je voudrais envoyer son contenu dans la corbeille et vider celle-ci...
Une idée?
Merci!
En fait, s'il ne s'agit que de supprimer les éléments d'un dossier, il est inutile d'en afficher le contenu.
Je te suggère donc d'exécuter une commande du shell au moyen d'AppleScript pour arriver à tes fins.
Bloc de code:
on run
	set mon_dossier to quoted form of (POSIX path of ((path to documents folder as string) & "dossier test applescript:"))
	do shell script "/bin/rm -rf " & mon_dossier & "*.*"
end run
 
et pour compléter le tout tu intègres ce script shell dans Automator pour l'utiliser comme tâche dans iCal.
 
starmac a dit:
et pour compléter le tout tu intègres ce script shell dans Automator pour l'utiliser comme tâche dans iCal.
Il peut aussi lancer directement le script depuis iCal, sans passer par Automator. ;)
 
je suis pas sûr de tout suivre... Je vais me pencher dessus dès que j'ai le temps dans la matinée, mais merci en tout cas!
 
Quand je fais ça dans Applescript (en changeant les noms des dossiers bien sûr), j'ai un message d'erreur...
 
Donne nous le message d'erreur pour que quelqu'un puisse t'aider. ;)
 
Ben en fait, j'en n'ai pas mais il ne se passe rien non plus...


Mon code c'est ça:
on run
set mon_dossier to quoted form of (POSIX path of "Raid:Temp:")
do shell script "/bin/rm -rf " & mon_dossier & "*.*"
end run
 
Fab'Fab a dit:
Ben en fait, j'en n'ai pas mais il ne se passe rien non plus...


Mon code c'est ça:
on run
set mon_dossier to quoted form of (POSIX path of "Raid:Temp:")
do shell script "/bin/rm -rf " & mon_dossier & "*.*"
end run
Au cas où, essaye ceci :
Bloc de code:
on run
	set mon_dossier to "/Raid/Temp/"
	do shell script "/bin/rm -rf " & mon_dossier & "*.*"
end run
 
Pour effacer le contenu complet d'un dossier, et pas simplement les fichiers qu'il contient au premier niveau et dont le nom contient un '.',
c'est plutôt ça qu'il faut faire : rm -rf /un/dossier/*
Raid est un volume ? si c'est pas le disque de démarrage, alors ça doit commencer par /Volumes/Raid/, donc autant laisser faire POSIX path of (mais gaffe à bien laisser le dernier ':')
Si c'est pas voué à être (souvent) modifié, pourquoi ne pas tout écrire directement ?
Bloc de code:
do shell script "rm -rf /Volumes/Raid/Temp/*"
:heu:

mais bon, tout ça c'est pas de l'Applescript
 
Doc, ça a l'air de marcher ce coup ci. Je vais faire d'autres test.

Merci du coup de main.:zen: