Hello John Blasquez,
AppleScript's filter reference by 'whose' clause can be sadly slow in filtering large set of objects. Since it has been so for a long time, you'd better find another way when it is too slow.
I'd try mdfind(1) to invoke Spotlight query (OSX10.4 or later) from command line. E.g. -
# SHELL COMMAND (NOT tested)
# mdfind e.g. to obtain paths of PageMaker files under Home directory.
mdfind -onlyin ~ "kMDItemKind == '
PageMaker' || kMDItemCreator == '
PageMaker'"
# END OF SHELL COMMAND
And in AppleScript, you may use 'do shell script' to execute shell command. E.g. -
-- SCRIPT (NOT tested)
set outfp to "" & (path to "desk") & "test out.txt"
set
query to "\"kMDItemKind == '
PageMaker' || kMDItemCreator == '
PageMaker'\""
set
s to "mdfind -onlyin ~ " &
query & " > " & quoted form of POSIX path of outfp
do shell script
s
-- END OF SCRIPT
I have not tested them, for I don't use OSX myself.
Hope this may be of some help.
H
PS. Spotlight query will (generally) work fine for user home in local volume, but will not for any un-indexed directories, such as under /System and/or CD/DVD volumes (and perhaps under network volumes either, not sure though.)
cf.
mdfind(1)
mdfind.1.html
Spotlight Metadata Attributes Reference
Spotlight Query Programming Guide
Technical Note about 'do shell script'
http://developer.apple.com/technotes/tn2002/tn2065.html
Mac OS 9.1.x