There are many software tools related to your problem. They are called data recovery software. All of them have some special features, and what you choose depends on your problem. All of them are not perfect. My brother uses
Advanced File Recovery that you can use on internal hard drives, as well as on external storage devices, such as external hard drives, floppy disks and all sorts of other removable data storage devices. Its a good software to recover files of all types.
I think this one will be an ideal solution for you.