Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Sitckybeak

macrumors newbie
Original poster
Jun 10, 2012
2
0
Sydney, Australia
I have a filemaker database from which I would like to be able to run an applescript that will find files of a particular name.
Filemaker can pass the filename to the script and I then need a script to search for the file of that name. I would then like the file to appear in finder so I can open it if I wish.
Can anyone help?
 

superscape

macrumors 6502a
Feb 12, 2008
937
223
East Riding of Yorkshire, UK
Sure. I guess personally I'd step out to the shell and do the find there. Let's say I want to search my documents folder for a file named "prop.png", then the command in Terminal would be:

Code:
find ~/Documents -type f -name "prop.png"

That will search all folders recursively, which can be a pain in AppleScript. If you want to limit how many folders deep you want to search then you can do:

Code:
find ~/Documents -type f -name "prop.png" -maxdepth 5

...adjust the '5' according to how many folders deep you want to search.

To roll that into an AppleScript you could use something like:

Code:
--I've hard coded the file name.
set theFiles to every paragraph of (do shell script "find ~/Documents -type f -name \"prop.png\" -maxdepth 1")

--display an error if no files were found
if (count of theFiles) is 0 then
    display alert "Error" message "No files found"
    return
end if

--I'm assuming that only the one file will be found. If there are several, we just deal with the first match
set theFile to (POSIX file (item 1 of theFiles))

tell application "Finder"
    activate
    reveal theFile
end tell

I've not tested this thoroughly and it's not production ready code - it's just intended to be good enough to get you going.

Hope that's of some help!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.