Over the time that I have been writing AppleScripts, I have found that one of the most difficult, if not frustrating, tasks of writing scripts is referencing files by path so that they can be accessed by other applications.
As you’ll see below, creating a reference that is understandable by the Finder is fairly simple (not always though). These are common alias references, most of which are understood by pre-OSX versions of the system as well as OSX. In the following section we will not only take a look at how to get ‘regular’ file paths, but also how to get POSIX paths (like UNIX) that are sometimes useful in deriving a path in a format that you may need. First, a number of examples of regular, alias paths:
tell application "Finder" to get folder "FileMaker Databases" of desktop
–> result: folder “FileMaker Databases” of folder “Desktop” of folder “administrator” of folder “Users” of startup disk of application “Finder”
tell application "Finder"
set targetFolder to (get folder "FileMaker Databases" of desktop as alias)
open targetFolder
end tell
–> result: alias “Macintosh HD:Users:administrator:Desktop:FileMaker Databases:”
set monthReportDoc to "Monthly Reports " & "2008.fp5"
tell application "Finder" to set targetDoc to (get file monthReportDoc of folder "FileMaker Databases" of desktop as alias)
–> result: alias “Macintosh HD:Users:administrator:Desktop:FileMaker Databases:Monthly Reports 2008.fp5″
This script gets the path to a folder on the desktop containing FileMaker Pro databases and concatenates it together with a file name and sends it to FileMaker Pro to open it:
set monthReportDoc to "Monthly Reports " & "2008.fp5"
tell application "Finder" to set targetDoc to (get file monthReportDoc of folder "FileMaker Databases" of desktop)
–> result: document file “Monthly Reports 2008.fp5″ of folder “FileMaker Databases” of folder “Desktop” of folder “administrator” of folder “Users” of startup disk of application “Finder”
tell application "FileMaker Pro"
activate
open targetDoc
end tell
Sometimes you must specify the POSIX path. The only real difference is that the regular Mac OS path and the POSIX version differ in that the POSIX (UNIX) path separates the heirarchy (deliminates) with the forward slash ‘/’, omitting the actual name of the HD, while the regular Mac path is delimited by ‘:’ and includes the name of the hard Disk. Examine these two statements:
POSIX: "/Users/administrator/Desktop/FileMaker Databases/"
Mac Path: "Macintosh HD:Users:administrator:Desktop: FileMaker Databases:"
Follow this to go from an Alias to a POSIX path:
First, the path to the folder “FileMaker Databases” :
tell application "Finder" to get folder "FileMaker Databases" of desktop
–> result: folder “FileMaker Databases” of folder “Desktop” of folder “administrator” of folder “Users” of startup disk of application “Finder”
Then, the alias path to the folder:
tell application "Finder" to get folder "FileMaker Databases" of desktop as alias
–> result: alias “Macintosh HD:Users:administrator:Desktop:FileMaker Databases:”
tell application "Finder" to get the POSIX path of (folder "FileMaker Databases" of desktop as alias)
(folder “FileMaker Databases” of desktop as alias) This, since it is enclosed in parenthesis, will be evaluated first. Then the POSIX path of that is derived.
–> result: “/Users/administrator/Desktop/FileMaker Databases/”
Then going from a POSIX to an Alias. Using the previous example:
"/Users/administrator/Desktop/FileMaker Databases/" as POSIX file
--> result: file "Macintosh HD:Users:administrator:Desktop:FileMaker Databases:"
Since this is executed from left to right:
"/Users/administrator/Desktop/FileMaker Databases/" as POSIX file as alias
–> result: alias “Macintosh HD:Users:administrator:Desktop:FileMaker Databases:”
Finally, if you’re not exhausted by now, look at these comparisons, which give the same result:
folder "Macintosh HD:Users:administrator:Desktop:FileMaker Databases:"
item "Macintosh HD:Users:administrator:Desktop:FileMaker Databases:"
As do these:
folder "FileMaker Databases" of folder "Desktop" of folder "administrator" of folder "Users" of startup disk of application "Finder"
item "FileMaker Databases" of folder "Desktop" of folder "administrator" of folder "Users" of startup disk of application "Finder"
A little precursor for what is to come:
tell application "Finder" to get the URL of home
–”file://localhost/Users/administrator/”
–you can use file://localhost/Users/administrator/ to show your HD in Firefox.
Contact me if you have any questions or comments at: hyperscripter@gmail.com or http://twitter.com/hyperscripter or to subscribe, click the By Email link at the top of the page.


















Nice blog here! Additionally your site so much up very fast! What host are you using? Can I get your affiliate link in your host? I want my site loaded up as fast as yours lol
Im truly enjoying the design and layout of your website. Its a very easy on the eyes which makes it much more pleasant for me to come here and visit more often. Did you hire out a developer to create your theme? Excellent work!
Paintball has become one of the most enjoyable and adventurous games to play that I’ve ever experienced. There is a really good reason why it has become so much attention. If you have not tried it , then you should give it a go.
I wish more people would inscribe sites like this that are truly provocative to read.
I can tell the knowing of this topic is deep and thorough. What a treat to locate someone writing whom not only possesses understanding but additionally the opportunity to connect via simple to imagine and recall info-bytes. Write a lot more!
Continue to write regarding this topic. There can be a greater need than you may anticipate for this kind of info and guidance. Everything you reveal is useful to the person who wants the tips that you’ve come up with.
Hi and many thanks for the comment you still left on my blog, i’ve also bookmarked your internet site and can return as i uncovered the data within your internet page just like a very good source to my very own pup regards Eddie
I just searched for this site and located it. It has been a nice source of ideas.
I read a few topics. I respect your work and added blog to favorites.
Thank you for this valuable post. It changed my mindThank you for this valuable post. It changed my attitude
I am so impressed I had to save it so I continously go back and read things I may have skimmed
Interesting and informative. But will you write about this one more?
Benedict, it is a great post thanks for posting it!
Thanks for posting about this, I would love to read more about this topic.
The sense of intending to assist, however not finding out how and the place, is one area a number of us have gone through.
It a big idea! Just wanna say thank you for information you could have posted. Just continue publishing this type of post. I will be a loyal reader, thanks a lot.
We simply tweeted your wordpress blog and desired to say that We have really enjoyed reading your wordpress blog posts. Any way I’ll be subscribing to your feed now, thanks
I should show my capability to one’s understanding granting help to firmly persons that require treatment on that state of interest. Your special keenness to receiving the message all-around came into existence exceedingly priceless and actually has in every issue enabled girls like me to get to at their likes and dislikes. Your unique inviting and sociable guide indicates a good deal to me and very much excess to firmly my buddies. Best wishes; from each one of us.
The sense of planning to assist, however not determining how as well as place, are some things a number of us are going through.
The sense of intending to assist, however not figuring out how as well as place, is something various us have gone through.