Deleting a file for good from your Windows 8 system does not happen when you use the Shift+Delete keyboard combination or when you empty the Windows Recycle Bin. By using the SDelete software, you will be able to permanently delete the wanted files from your command line
The Shift+Delete keyboard combination that many think is efficient against removing all the files from your Windows 8 only empties the Windows Recycle Bin and the files don’t get actually deleted. What happens is that Windows only removes the index for that file in the file system. If you want to delete a file for good, you can use the SDelete software, which is one of the Sysinternals tools provided by Microsoft (download link at the end).
Securely deleting a file that has no special attributes is relatively straight-forward: the secure delete program simply overwrites the file with the secure delete pattern. What is more tricky is securely deleting Windows NT/2K compressed, encrypted and sparse files, and securely cleansing disk free spaces. Compressed, encrypted and sparse are managed by NTFS in 16-cluster blocks. If a program writes to an existing portion of such a file NTFS allocates new space on the disk to store the new data and after the new data has been written, deallocates the clusters previously occupied by the file. NTFS takes this conservative approach for reasons related to data integrity, and in the case of compressed and sparse files, in case a new allocation is larger than what exists (the new compressed data is bigger than the old compressed data). Thus, overwriting such a file will not succeed in deleting the file’s contents from the disk.
SDelete is a command-line utility that overwrites the contents of free space on a disk so that no one can recover the deleted data that the disk contains. It relies on the Windows defragmentation API to see which disk clusters hold deleted data. Here are the command lines that you can use with SDelete:
- -a: Remove Read-Only attribute.
- -c: Clean free space.
- -p passes: Specifies number of overwrite passes (default is 1).
- -q: Don’t print errors (Quiet).
- -s or -r: Recurse subdirectories.
- -z : Zero free space (good for virtual disk optimization).