Recuva
Recuva is an undeletion program for Windows, developed by Piriform. It is able to undelete files that have been marked as deleted; the operating system marks the areas of the disk in which they were stored as free space. Recuva can recover files deleted from internal and external hard disk drives, USB flash drives, memory cards, portable media players or all random-access storage mediums with a supported file system.
Recuva was described by vnunet.com as an "effective tool for undeleting or salvaging files we sent for recycling and deleted, in the past". The program works on FAT, exFAT and NTFS file systems of Windows. It is able to recover lost directory structure and automatically renames files when trying to recover two files of the same name. As of version 1.5.3 it can also recover files from Ext2, Ext3 and Ext4 file systems of Linux.
As with other file recovery programs Recuva works by looking for unreferenced data, but if the operating system has written new data over a deleted file then recovery will often not be possible.