I'm in the process of doing this myself. Like Kanaske, my audiobooks are stored on 2 external drives and I don't want to import the actual files into Calibre.
I've found a relatively quick and easy way to do this. This is my method, and it may help others.
For ease, I moved all my books with authors beginning with A into one folder, all B into a second folder, and so on. This makes it easier to manage.
I use a third party program called ZZEE Art Directory Print to create a list of folder names with unlimited recursive depths, but no files names added. This gives a format of H:\O\Orson Scott Card\Orson Scott Card - Enders Game, for example. Any list directory can be used, but ZZEE has the function of not adding file names, which is useful as I don't want all the actual mp3 files listed.
I import the full listing in Excel and use Find and Replace to take out the bits I don't want, i.e H:\O\Orson Scott Card\ etc. and any erroneous things like publishing dates or series names that may be in the file name. End result looks like this: Orson Scott Card - Enders Game.
I then copy and paste the list into Calibre using the Import List plug in and create an empty book for the books in the list.
A quick check to see that everything looks right, make any minor adjustments needed and then use the Bulk download metadata function. Then just check the results and amend as necessary.
I am now up to the M folder and have found the above is the best method for me by trial and error. I have also found that it has forced me to tidy up my audiobook files before running the directory listing - makes for less editing, and I've got rid of a lot of duplicates in the process. I've also re-discovered a lot of books I'd forgotten I had and haven't listened to yet, which is one of the reasons for getting them catalogued, as well as stopping me from buying books I already have.
The only thing I haven't been able to figure out is how to put Audiobook in the format column automatically as it is, of course, an empty entry with no formats. I've been trying to figure out a way to use the template function, but not succeeded yet
Hope this helps.