Lorsque tu utilises le script que je t'ai proposé par double-clic, une boîte de dialog apparaît te demandant de désigner le dossier à renommer, il y a sur ce dialogue (normalement) un bouton permettant de créer à la volée un nouveau dossier à l'emplacement de ton choix. Il suffit donc de créer ce nouveau dossier sans changer le nom par défaut, le script se chargera de changer ce nom par celui que tu souhaitais......dernier point: comment faire créer un nouveau dossier et lui donner comme nom la date en question...
zevlac a dit:Fredo, si si, le script de Bébert permet de créer un dossier à un endroit de son choix (il suffit de le modifier un petit peu). Par contre, je préfère éviter le passage par une boîte de dialogue... Ce script est destiné à importer des photos depuis un appareil numérique pour ma mère qui est trop agée pour se compliquer la vie avec des boîtes de dialogue... Merci pour tout!
on adding folder items to le_dossier after receiving theseItems
repeat with i in theseItems
set f to quoted form of POSIX path of i
do shell script "f=" & f & "
year=$(/bin/date \"+_%Y\")
d=$(/bin/date \"+_%Y-%m-%d - %Hh%Mm%S\")
name=${f##*/};
if [[ \"$name\" != $year* && \"$name\" = *.txt ]]; then
dir=${f%/*}
/bin/mv \"$f\" \"$dir/$d.txt\"
fi"
delay 1
end repeat
end adding folder items to
Bonsoir,
Voici un script qui renomme les fichiers .txt déposés dans un dossier.
Le seul piti problème, c’est que si je sauvegarde mon message plusieurs fois, ça me fait autant de versions...
BonjourBonsoir,
Voici un script qui renomme les fichiers .txt déposés dans un dossier.
Bloc de code:on adding folder items to le_dossier after receiving theseItems repeat with i in theseItems set f to quoted form of POSIX path of i do shell script "f=" & f & " year=$(/bin/date \"+_%Y\") d=$(/bin/date \"+_%Y-%m-%d - %Hh%Mm%S\") name=${f##*/}; if [[ \"$name\" != $year* && \"$name\" = *.txt ]]; then dir=${f%/*} /bin/mv \"$f\" \"$dir/$d.txt\" fi" delay 1 end repeat end adding folder items to
Non ce n'est pas recommandé, le iBook n'a pas assez de mémoire.iBook G4 os 10.4.11...
Dois-je essayer d'updater le système ?
(En espérant que ça ne fasse pas exploser la machine...)
on adding folder items to le_dossier after receiving theseItems
repeat with i in theseItems
set f to POSIX path of i
set newPath to do shell script "f=" & (quoted form of f) & "
year=$(/bin/date \"+_%Y\");sleep 1
d=$(/bin/date \"+_%Y-%m-%d - %Hh%Mm%S\")
name=${f##*/};
if [[ \"$name\" != $year* && \"$name\" = *.txt ]]; then
dir=${f%/*}
/bin/mv \"$f\" \"$dir/$d.txt\"
echo \"$dir/$d.txt\"
fi"
if newPath is not "" then
tell application "System Events" to exists process "TextEdit" -- vérifie si TextEdit est ouvert
if the result then tell application "TextEdit"
repeat with tDoc in (get documents)
if (get path of tDoc) = f then set path of tDoc to newPath -- modifie le chemin et le nom du document
end repeat
end tell
end if
end repeat
end adding folder items to
Oui, il renomme les fichiers avec seulement la date, c'est ce que "sined_marlouf" voulait.Bonjour
Testé ton code avec Léopard 10.5.8, me donne que les dates à chaque fichier.
Oui, je comprends ça, je ne recommande à personne de renommer des fichiers avec une action de dossier, si les fichiers ne sont pas déplacés dans un autre dossier pour minimiser les erreurs et les bogues.Je comprend pas la boucle repeat, chez moi plus de 3 fichiers alors s'arrête de renommer.
J'ai cherché pourquoi, et c'est le réglage du polling interval de Folder Actions Dispacher.app qui créer ce problème.
J'ai écrit le code qu'en AppleScript et même résultat avec les dates (n'aime pas la temporisation), par contre par numérotation j'ai pas de problème.
Plus le polling interval est grand, plus de fichiers sont gérés.
5 m'en gère 2, 10 lui me gère les 6 créés.
Parfait, content que ça marche.Yes, ça marche.
Jai juste changé le ".txt" en ".rtf" dans les deux scripts, parce que jenregistre par défaut en rich text format...
Oui :DIl ne me reste plus quà bien expliquer comment ce dossier fonctionne, parce que si un jour quelquun essaye de lutiliser sans être averti, il risque de me faire un procès en sorcellerie !