1. on synchronize by keyFilePath
  2. set savedDelimiters to AppleScript's text item delimiters
  3. set AppleScript's text item delimiters to return
  4. set thePaths to text items of (do shell script "fname=\"$(basename " & quoted form of keyFilePath & ")\";export LANG=ja_JP.UTF-8; mdfind 'kMDItemDisplayName == \"'\"$fname\"'\"' | while read path; do [ -f \"$path\" ] && [ -r \"$path\" ] && [ -w \"$path\" ] && ls -lT \"$path\"; done | awk 'NF<10{next} { date=sprintf( \"%s%02s%02d%s\", $9, $6, $7, $8 ); for(i=1; i<10 ; i++) $i=\"\";sub(\"^ *\",\"\");print date, $0}' | sort -r | cut -d ' ' -f 2-")
  5. set AppleScript's text item delimiters to savedDelimiters
  6. if not ((count of thePaths) > 1) then return
  7. set sourcePath to first item of thePaths
  8. set destinationPaths to choose from list items 2 thru -1 of thePaths OK button name "Copy" with title "Update the same name files" with prompt "Copy “" & sourcePath & "” to:" with multiple selections allowed
  9. if (count of destinationPaths) is 0 then return
  10. try
  11. set AppleScript's text item delimiters to ASCII character 10 -- 10 was LF
  12. set quotedDestinationPaths to quoted form of (destinationPaths as text)
  13. set AppleScript's text item delimiters to savedDelimiters
  14. set theResult to do shell script "echo " & quotedDestinationPaths & "| while read path; do cp " & quoted form of sourcePath & " \"$path\"; done"
  15. on error message
  16. display dialog message
  17. end try
  18. end synchronize
  19. on open droppedItems
  20. if (count of droppedItems) is 0 then return
  21. synchronize by POSIX path of item 1 of droppedItems
  22. end open
  23. -- for example
  24. synchronize by "hoge.txt"
  25. synchronize by "../../Hoge/Desktop/hoge.txt"
  26. synchronize by "/Users/Hoge/Desktop/hoge.txt"

Sample