Reputation: 1245
In my company, we use Google Drive and often have to tell each other the path to a particular file. Paths are long as we use a lot of nested folders, so it's pretty boring and time consuming to browse through all that.
Now, in my previous company, we used a central afp server, so the path was common to everyone, therefore I had created an applescript script that could get the absolute afp path to the file, people pasted that path in a mail or chat and the end user could click on that path which automatically became a link and the finder would open, selecting that particular file or folder that the link led to.
The reason I can't use the exact same script is that Google Drive folder is in the user home folder. So if user's name is Foo the path will be file:///Users/Foo/Google Drive
, while for user Bar the path will be file:///Users/Bar/Google Drive
Clearly the path generated from user Foo won't work for user Bar
Since, at least in the terminal, the path to file:///Users/username
equals to ~
, I made my script generate links like file:///~/Google Drive/pathToFolder
, but they do not work :( Clicking on such a link will open the finder, but won't select the right file or folder
This is driving me crazy because it looks like it should work but it simply doesn't... is there any other syntax I should try? Any suggestion?
Upvotes: 2
Views: 26747
Reputation: 1245
I actually found a reasonably quick solution to this.
There's a free OSX app called Lincastor https://onflapp.wordpress.com/lincastor/ which is just awesome! It allows to trigger a certain shell command, applescript or app whenever a custom URL handler is used.
So I'm going to:
Upvotes: 2
Reputation: 19040
Applescript has the "path to" command. It can automatically generate the path to many common folders, the home folder being one of them.
So here's how I would do your task. Save the following applescript code as an application. Then just email that application everyone. When they double-click it it will 1) if you link to a folder then a Finder window will open to that folder or 2) if you link to a file then the file will automatically open using the default application. NOTE: if you don't want files to open then you can change "open" to "reveal" in the code so only a Finder window will open to the item.
IMPORTANT: applescript uses colon (:) delimited paths instead of "/", so make sure to use colons in your path as shown in my code.
set itemPath to (path to home folder as text) & "Google Drive:path:to:some:file:or:folder"
tell application "Finder"
set theItem to item itemPath
if (class of theItem) is folder then activate
open theItem
end tell
Upvotes: 1