You may think that deleting a file from the Recycle Bin is enough. You may even go a step further and Shift + Del every file you no longer need. What if we told you, that both of these methods never truly get rid of a file entirely? At least, not in the short term.

If we've piqued your interest, then allow us to introduce Sysinternals: SDelete. It's a Department of Defense-compliant secure delete tool, provided by Microsoft and used worldwide by industry professionals.

What Is Sysinternals: SDelete?

While we heralded SDelete as a "secure delete tool," what does that mean exactly? In short, all modern Windows NT/2K operating systems; including Windows 10, and Windows 11, implement what is known as "object reuse protection."

This protection means that when an application allocates file space or virtual memory, it cannot view previously stored data in the resources Windows NT/2K allocates for it. Windows zero-fills memory and makes it unavailable. The same is not true, unfortunately, for deleted files; the space they occupy does not get zeroed, even after deletion.

What this all means is that, unless Windows has overwritten the space previously occupied by a deleted file; which could happen weeks or even months after the fact, the file remains recoverable. There are even dedicated data recovery tools available to assist with this. See how to use the best third-party data recovery tools for Windows, for more information. SDelete however, ensures that even with the best recovery tools available, the deleted files will not be able to be recovered.

How to Back Up Your Data Before Using Sysinternals: SDelete

Since we are dealing with a tool that makes deleted files completely unrecoverable, it would be a good idea to back up your files before using SDelete. Even if you are planning to delete just a handful of files, it's worth knowing that if used improperly, SDelete can make your Windows PC inoperable.

This is because, in addition to simply deleting files, SDelete can also be used to cleanse file data in unallocated portions of your drive. Whilst this shouldn't be an issue, there's always the chance that you perform a delete operation on files you otherwise would have liked to keep. Before giving SDelete a go, consider looking into third-party tools you must try to back up your Windows data.

How to Use Sysinternals: SDelete

To get started, visit the Microsoft Sysinternals: SDelete download page and download the ZIP file.

SDelete Download Page

Once downloaded, right-click on the file and select Extract All. Then, configure a destination folder of your choice and click the Extract button.

Extract SDelete

At this point, you may be tempted to double-click one of the three EXE files located inside the folder. This will not work, however, as SDelete is a command line tool, and as such requires a bit more configuration to set up properly.

  1. Start off by, cutting or copying the entire SDelete folder that you extracted to the following folder path: C:\Program Files.
  2. Then, right-click on This PC in File Explorer and choose Properties.
  3. In the Related links section, click Advanced system settings.
    Advanced System Settings
  4. In the System Properties dialog, select Environment Variables.
    Enviroment Variables
  5. Click Path under System variables, and then click Edit
  6. In the new window, click New, then Browse and locate the folder you configured in step 1. The full folder path should be: C:\Program Files\SDelete
    SDelete System Variable
  7. Click OK three times to save your changes.

Now that SDelete has been configured correctly, you can begin to use it within Command Prompt.

  1. To start off, press the Windows key and type "cmd" in the Search Box. Command Prompt should be listed under Best match. Right-click on Command Prompt, and select Run as administrator.
  2. Once Command Prompt opens, type "sdelete" and hit Enter.
  3. You will now see a list of the various operations that you can perform with SDelete, as well as a Usage example, to help you with the syntax.
    SDelete Command Prompt

How to Securely Delete Files With Sysinternals: SDelete

Let's start off by deleting a single file. In this case, we have a registry backup file located on the Desktop.

  1. First, right-click the file and select Copy as path.
  2. Then, in Command Prompt, type "sdelete" followed by a space, and then paste the path you copied. Remember to remove the quotes on both ends of the path.
  3. The whole line should look like this: "sdelete C:\Users\Phillip\Desktop\Backup.reg"
  4. Press Enter to run the operation.
  5. Once finished, the output will display: Files deleted: 1
    SDelete Single File

Next, let's delete a folder including any subdirectories it may have. In this case, we have a folder named "Screenshots" in Pictures on the C: drive.

  1. Again, right-click the folder and select Copy as path.
  2. Then, in Command Prompt, type "sdelete" followed by a space, then add the "-s" parameter to include subdirectories, and the "-r" parameter to remove any read-only attributes.
  3. Finally, paste the path you copied, and remove the quotes on either end.
  4. The whole line should look like this: "sdelete -s -r C:\Users\Phillip\Pictures\Screenshots"
  5. Press Enter to run the operation.
  6. Once finished, the output will display the number of files, and directories deleted.
    SDelete Folders

Finally, let's use SDelete to cleanse unused disk space. It's worth noting that depending on the size of your drive, and the amount of unused space available, this operation can take a very long time to finish, in some cases hours.

  1. In Command Prompt, type "sdelete" followed by a space, then add the "-c" parameter to cleanse free space, then add the drive letter with a colon. In this example, "c:" drive.
  2. The whole line should look like this: "sdelete -c c:"
  3. Press Enter to run the operation.
  4. When running, the output will display a progress indicator in percent, and a message saying that it is "Cleaning free space on <selected drive>."

Leave No Trace With Sysinternals: SDelete

There's no question that this unassuming little tool gets the job done remarkably well. Some might argue that encrypting your files is the far better option long-term, because at least down the line you could still gain access to them.

However, if you're particularly paranoid about your sensitive files ever getting into the hands of anyone other than you, then Sysinternals: SDelete and its nuclear approach is definitely the way to go.