# Trim Filenames by Character Count
set userFolder to choose folder
set dialogResult to display dialog "Numbers of characters to remove:" buttons {"Cancel", "At beginning", "At end"} default answer 0 cancel button "Cancel"
set buttonResult to button returned of dialogResult
set numberOfChars to text returned of dialogResult as integer
if buttonResult = "At end" then set numberOfChars to -numberOfChars
tell application "Finder"
repeat with eachFile in (get document files in userFolder)
set fullName to name of eachFile
set {textDelimiters, AppleScript's text item delimiters} to {AppleScript's text item delimiters, "."}
if (count of text items of fullName) is greater than 1 then
set properName to my Trim((text items 1 thru -2 of fullName) as text, numberOfChars)
set newName to ({properName, (get last text item of fullName)}) as text
else
set newName to my Trim(fullName, numberOfChars)
end if
set AppleScript's text item delimiters to textDelimiters
set name of eachFile to newName
end repeat
end tell
on Trim(t, n)
if n > 0 then
return text (n + 1) thru -1 of t
else
return text 1 thru (n - 1) of t
end if
end Trim