Hi Roberto and James,
I agree on Roberto's statement on the filesystem. That is exactly the reason why filesystem directory trees always end in a mess; as soon as more than one directory (='metadata') can be applicable users will choose randomly. In case of a DMS you can then just use a second, third metadata tag.
However, I do understand James' problem, very common in a transition, as the best 'metadata' he currently has is the interpretation of the directory tree. E.g. a structure "project number XX\sales\quotations" are in fact 3 metadata tags to be filled.
You could try a script where the arguments for -- metadata at bulk_upload are filled by some logic from a ls command. I've never tried (and am really not enough up to speed on pyhton if it wouldn't work to achieve this) but this command with multiple --metadata arguments could then do the trick if ran per subfolder:
$ ./manage.py bulk_upload --noinput --metadata '{"project": "bulk"}' --document_type "Accounting documents" compressed.zip
After this the magick of indexes could rebuild the original directory structure but then with many more usefull cross-sections of your document metadata.
Maarten