Here is what I have been using. We send a list to our photo lab and create galleries for students to order photos. The lab returns our list with info including who ordered and which image they selected. Some of the orders select our touch up service. We sort the file received from the lab and copy the filenames for the images to be touched up. That list is pasted into a plain text file used to copy those images to a new folder. The images are touched up and put back into the original folder.
At some point I want to figure out how to do this directly from the file received from the lab but right not that is over my head ;-)
<
property istext : {"public.text", "public.plain-text"}
property adesktop : (path to desktop) as alias
set moveList to {}
set matchList to {}
set myList to (choose file with prompt "Select file containing list:" of type istext default location adesktop without invisibles, multiple selections allowed and showing package contents)
set inFolder to (choose folder with prompt "Select copy-from folder: " default location adesktop without invisibles, multiple selections allowed and showing package contents)
set outFolder to (choose folder with prompt "Select copy-to folder: " default location adesktop without invisibles, multiple selections allowed and showing package contents)
# read the text file into a list of the images to duplicate
set moveList to read myList as «class utf8» using delimiter linefeed
tell application "Finder"
set matchList to (every file in folder inFolder whose name is in moveList) as alias list
repeat with anItem in matchList
duplicate anItem to folder outFolder
end repeat
end tell>