This new one takes a folder containing :
4329ee93a48b50de5d871926b34a5327.jpg
SMP_SEPDM_C01EOC_68_75_annos.pdf
SMP_SEPDM_C01EOC_68_75_annos0.jpg
SMP_SEPDM_C01EOC_68_75_annos02.pdf
SMP_SEPDM_C01EOC_68_75_annos03.pdf
and rename them as:
4329ee93a48b50de5d871926b34a5327.jpg
SMP_SEPDM_C01EOC_68_75_annos0.jpg
SMP_SEPDM_C01EOC_68.pdf
SMP_SEPDM_C01EOC_69.pdf
SMP_SEPDM_C01EOC_70.pdf
set sourceFolder to choose folder
tell application "Finder"
set theFiles to files of sourceFolder as alias list
end tell
tell application "System Events"
set beg to 1
repeat with aFile in theFiles # aFile is supposed to be an alias
set beg to beg + 1
set oldName to name of aFile
if oldName ends with ".pdf" then
--> SMP_SEPDM_C01EOC_68_75_annos.pdf
set splittedName to my decoupe(oldName, "_")
--> {"SMP", "SEPDM", "C01EOC", "68", "75", "annos.pdf"} # ADDED
set splittedNewName to {}
repeat with txt in splittedName
set txt to txt as text
if character 1 of txt is in {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"} then
exit repeat
else
set end of splittedNewName to txt
end if
end repeat # with txt.
set rootName to my recolle(splittedNewName, "_") & "_"
if rootName starts with space then # ADDED
set rootName to text 2 thru -1 of rootName # ADDED
end if # ADDED
--> SMP_SEPDM_C01EOC
set name of aFile to rootName & txt & ".pdf"
set indx to txt as integer
exit repeat
end if
end repeat
# The first pdf is renamed.
# Drop the first(s) item(s)
set theFiles to items beg thru -1 of theFiles
# Enter the loop renaming remaining files incrementally
repeat with aFile in theFiles # aFile is supposed to be an alias
set oldName to name of aFile
if oldName ends with ".pdf" then
--> SMP_SEPDM_C01EOC_68_75_annos02.pdf
--> SMP_SEPDM_C01EOC_68_75_annos03.pdf
set indx to indx + 1
set txt to text -2 thru -1 of ((100 + indx) as text)
set name of aFile to rootName & txt & ".pdf"
--> SMP_SEPDM_C01EOC_69.pdf
--> SMP_SEPDM_C01EOC_70.pdf
end if # ADDED
end repeat
end tell # System Events
#=====
on decoupe(t, d)
local oTIDs, l
set {oTIDs, AppleScript's text item delimiters} to {AppleScript's text item delimiters, d}
set l to text items of t
set AppleScript's text item delimiters to oTIDs
return l
end decoupe
#=====
on recolle(l, d)
local oTIDs, t
set {oTIDs, AppleScript's text item delimiters} to {AppleScript's text item delimiters, d}
set t to l as text
set AppleScript's text item delimiters to oTIDs
return t
end recolle
#=====
Here is the history
[format]tell application “Script Editor”
choose folder
→ alias “bootVolume:Users:myHome:Desktop: dossier copie:”
end tell
tell application “Finder”
get every file of alias “bootVolume:Users:myHome:Desktop: dossier copie:”
→ {alias “bootVolume:Users:myHome:Desktop: dossier copie:4329ee93a48b50de5d871926b34a5327.jpg”, alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_68.pdf”, alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_68_75_annos0.jpg”, alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_69.pdf”, alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_70.pdf”}
end tell
tell application “System Events”
get name of alias “bootVolume:Users:myHome:Desktop: dossier copie:4329ee93a48b50de5d871926b34a5327.jpg”
→ “4329ee93a48b50de5d871926b34a5327.jpg” – not a PDF, skip it
get name of alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_68_75_annos.pdf”
→ “SMP_SEPDM_C01EOC_68_75_annos.pdf”
set name of alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_68_75_annos.pdf” to “SMP_SEPDM_C01EOC_68.pdf” – first PDF, rename it
get name of alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_68_75_annos0.jpg”
→ “SMP_SEPDM_C01EOC_68_75_annos0.jpg” – not a PDF, skip it
get name of alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_68_75_annos02.pdf”
→ “SMP_SEPDM_C01EOC_68_75_annos02.pdf”
set name of alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_68_75_annos02.pdf” to “SMP_SEPDM_C01EOC_69.pdf” – 2nd PDF, rename it
get name of alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_68_75_annos03.pdf”
→ “SMP_SEPDM_C01EOC_68_75_annos03.pdf”
set name of alias “bootVolume:Users:myHome:Desktop: dossier copie:SMP_SEPDM_C01EOC_68_75_annos03.pdf” to “SMP_SEPDM_C01EOC_70.pdf” – 3rd PDF, rename it
end tell[/format]
Yvan KOENIG running Sierra 10.12.1 in French (VALLAURIS, France) mardi 6 décembre 2016 15:10:07