There are two scripts that ship with DEVONthink: Scripts > Rename > Add Prefix…, and Scripts > Rename > Add Suffix…. I frequently want to add both prefixes and suffixes, so I’ve consolidated the script into the following script to Add Prefix and/or Suffix to selected items. Thanks to Criss for the originals.
Tip: I use the renaming scripts with TextExpander, which makes adding custom date-time prefixes quite easy. The script below could also be slightly modified to be used inside a TextExpander (or other expansion utility) snippet, or Keyboard Maestro, etc.
-- Add Prefix and / or Suffix to selected items
-- created 20131102 by korm
-- Based on Create Prefix and Create Suffix Scripts
-- Created by Christian Grunenberg Sat May 15 2004.
-- Copyright (c) 2004-2009. All rights reserved.
-- Based on (c) 2001 Apple, Inc.
tell application id "com.devon-technologies.thinkpro2"
try
set this_selection to the selection
if this_selection is {} then error "Please select some contents."
set prefix to ""
set suffix to ""
set {p_click, prefix} to {button returned, text returned} of (display dialog "Enter Prefix (plus Space if Needed)" default answer "" buttons {"Skip Prefix", "OK", "Cancel Script"} default button 3 cancel button 3 with title "Add Prefix and/or Suffix")
set {s_click, suffix} to {button returned, text returned} of (display dialog "Enter Suffix" default answer "" buttons {"Skip Suffix", "OK", "Cancel Script"} default button 3 cancel button 3 with title "Add Prefix and/or Suffix")
repeat with this_item in this_selection
set current_name to the name of this_item
set new_item_name to prefix & current_name & suffix
set the name of this_item to new_item_name
end repeat
on error error_message number error_number
if the error_number is not -128 then display alert "DEVONthink Pro" message error_message as warning
end try
end tell
It would be ideal to have the dialog in one panel, but that requires either a custom scripting addition (OSAX), which you probably do not have, or building the app in AppleScript Studio, which is daunting for small tasks. Hence, the two step dialog in this script.