I have already had the same problem before. On that ocasion, I found a program that could scan my entire HD for string pieces so I could recover it. Unfortunatelly I don't remember the name of the program. It had to access the HD data directly, normal searches won't get any data from the HD before formatting.