• Bonjour Visiteur. Bienvenue sur les nouveaux forums de MacGeneration. La peinture est encore fraiche, quelques boulons doivent être resserrés, plus d’informations demain !

Supprimer caractères AppleScript

BenjaminS

Nouveau membre
17 Février 2011
8
0
29
Bonjour à tous et à toutes,

je viens vers vous pour un problème de programmation AppleScript..

J'ai beau chercher en long et en large sur Google, en français ou anglais, rien y fait, je ne trouve pas de réponse à ma question!

Alors voilà, je voudrais un Script me permettant de supprimer des caractères à la fin d'un nom de fichier.

Exemple:
J'ai un dossier dans lequel 20 images n'ont pas le même nom excepté quelques caractère identique à la fin.
"dossier photo 01 mac.jpg", ""dossier 02 mac.jpg", "photo 03 mac.jpg",……….."photo photo 20 mac.jpg".

Mon but est d'avoir un script me permettant de supprimer le " mac" sans toucher à l'extension ni au nom d'origine.

Si quelqu'un connait une technique avec Automator je suis preneur, mais je ne penses pas.

Pour info, j'ai un script un peu similaire qui permet de supprimer les caractères avant le nom:

"

set MasterFolder to choose folder with prompt "Sélectionner le dossier contenant les fichiers"



tell application "Finder"

set FolderContents to files of folder MasterFolder

end tell



repeat with thisFile in FolderContents

set thisFilesName to name of thisFile

set Charcount to count characters of thisFilesName

set newName to characters 10 thru Charcount of thisFilesName as string

set name of thisFile to newName



end repeat

"

Dans la ligne "set newName to characters 10 thru Charcount of thisFilesName as string" il suffit de changer le "10" en le nombre de caractère qu'on veut supprimer.
C'est franchement pratique, par contre, pour avoir la même chose pour les caractères de fin, impossible à trouver..

Si un génie pouvait m'aider :)

Merci
 

zeltron54

Membre d’élite
29 Mars 2008
1 397
206
Lorraine
Bonjour,
quelque modification à ton script
- récupérer l'extension
- récupérer le nom sans extension
- récupérer le nom jusqu'au 5 ième caractère avant la fin
- construire le nouveau nom avec son extension
-renommer le fichier

Ce qui peut être ce script.

Bloc de code:
set MasterFolder to choose folder with prompt "Sélectionner le dossier contenant les fichiers"

tell application "Finder"
    set FolderContents to files of folder MasterFolder
end tell

repeat with thisFile in FolderContents
   
    set extens to thisFile -- recupere l'extension du fichier
    set lextension to name extension of extens
   
    set thisFilesName to name of thisFile -- récupere le nom du fichier complet
    set sauv to AppleScript's text item delimiters --sauvegarder la variable delimiteur
    set AppleScript's text item delimiters to {"."} --récupère la partie avant le dernier "."
    set elements to text items of thisFilesName
    set nomcourt to (items 1 thru -2 of elements) as string
    set ancien_nom to nomcourt -- nom sans extension
    set AppleScript's text item delimiters to sauv --restaurer la variable delimiteur
   
   
    set newName to characters 1 thru -5 of ancien_nom as string --recupere le nom jusqu'au 5ieme caractere avant la fin
   
    set nouveau_nom to newName & "." & lextension --le nouveau nom avec le . et l'extension
   
    set name of thisFile to nouveau_nom --renomme le fichier
   
end repeat
Voila dis-moi si cela fonctionne comme tu veux.
 
  • J’aime
Réactions: jrs31 et macomaniac

BenjaminS

Nouveau membre
17 Février 2011
8
0
29
Salut Zeltron54!

Je te remercie pour ton script, il fonctionne parfaitement!
C'est exactement ce dont j'avais besoin!
J'ai juste à changer le nombre de caractères à supprimer (ligne "récupérer le nom jusqu'au 5eme caractères"), et le tour est joué :)

En tout cas, les inscriptions en Français sont plutôt utile pour les non initier aux Script!

Merci, vraiment!!
 

zeltron54

Membre d’élite
29 Mars 2008
1 397
206
Lorraine
Bonjour,
Content pour toi, si besoin ne pas hésiter à demander.

Bonne journée