Surely, if the central directory is wholly on the last disk (this may be a big if) only the last disk needs to be read in order to get a directory listing. This can be established by reading the EndOfDir record and comparing the values ThisDiskNo and CentralDiskNo (field names may vary). The worst case scenario is that all disks between these two values need to be read (in practice this should never be more than 2 disks). That said, the issue of extracting files across disk boundaries is an interesting one. The most elegant way to solve this would be to create a special stream type capable of prompting for disk changes, opening and closing files, etc. (I have this in mind for some code of my own in the future). However, I'm certainly not about to suggest that, given existing code, it would be sensible to move in that direction. -- James Turner www.skaro.net PS Regarding file erasure (instead of format) on hard disks. I believe that you should NEVER erase files on (or format) a hard disk.