Instead of using the following to eject all disks:
osascript -e 'tell "Finder" to eject (every disk)'I've found that this is much faster:
find /Volumes -maxdepth 1 -not -user root -print0 | xargs -0 diskutil ejectRun this command from Terminal, or in a shell script, to eject all your local disks.
find /Volumes -maxdepth 1 -not -user root -print0 | xargs -0 umount[kirkmc adds: The problem with this hint is that each line of code works for different types of volumes. If you have both local and network volumes, you need to use both; you could, of course, stick them together with a semi-colon separating them so they are, in effect, a single command.. In my tests, it's not really faster than the osascript code above, but I'm posting it because some may find it useful. If you have different results in speed or efficacy, please post in the comments.]
Mac OS X Hints
http://hints.macworld.com/article.php?story=20120901094847629