I followed Daniel Beck's instructions with a few modifications and got this to work for URL files which I wanted to open in Chrome (Firefox would also work) on a Mac.
The script I used is:
sed 's/^URL=/URL=/' "$1" | grep -m 1 '^URL=' | sed 's/^URL=//' | tr -d '\r' | xargs open -a "Google Chrome"
This parses out the URL= line from a typical URL file which looks like:
[InternetShortcut]
URL=http://www.docircuits.com/pricing
IDList=
HotKey=0
IconFile=O:\Apps\Firefox\Data\profile\shortcutCache\4t0JW4mY1qRPhiYz1fY3dw==.ico
IconIndex=0
Save the Automator script someplace like your ~/Library directory. I called mine OpenUrl.app.
Now go to a url file somewhere and open the "Get Info" popup. Change the Open With command to your OpenUrl.app script. Test with just one or click the "Change All..." The first time I clicked that it gave an error, but seemed to work the second time.
In developing this I did get the "Run Shell Script" errors, but that was because of actual errors in the script. I think the key issue with Daniel's script is that it doesn't handle spaces in the file name you try to open.
Thanks. I gave it a whirl but I try and open with the app created by Automator it just says The action "Run Shell Script" encountered an error. Check the action's properties and try running the workflow again. Which is about the least helpful error message I've seen for some time! – rich – 2011-01-29T21:45:08.347
@Rich Does it work with the default script in the run shell script action? Or not even then? Did you remember to change the pass input preference? Do you try double-clicking your application, dragging files onto your application, or only opening the associated file? What happens if you start it the other ways? – Daniel Beck – 2011-01-29T21:49:01.377
Thanks. Not sure how you'd see output from the default one as it just calls cat, but it seems that didn't error. Rather than have the app call my script from a non-standard location I created a script in /usr/local/bin and then discovered that if I tried to run it it complained that there were too many levels of symbolic links (1?!) So I've just copied the script there instead and it now seems to work. Thanks! – rich – 2011-01-29T22:01:19.110