18

Is there a built-in cmd command/utility on Windows that can shred files (delete and overwrite with random data) without the need to use third party software? In linux i would use shred. It a wonderful tool that not only deletes files, but also destroys any "residue" left on the disk by overwriting the data.

| improve this question | | | | |
  • I've never heard of anything "built in" to Windows. A major problem is that if you attempt to overwrite the file the file system may allocate the "overwritten" version in different space from the original, leaving the original untouched. So it takes some significant low-level understanding of the specific system and its configuration. (And this is doubly true if the "disk" is a SSD.) – Daniel R Hicks Sep 6 '12 at 21:00
  • 2
    Microsoft offers an addon program (sdelete) that runs from the command line....technet.microsoft.com/en-us/magazine/dd334519.aspx – Moab Sep 6 '12 at 21:09
  • Sdelete can be scripted also...forum.sysinternals.com/topic6065.html – Moab Sep 6 '12 at 21:11
  • @Moab That program, according to the cover page, overwrites free space -- not quite the same thing. – Daniel R Hicks Sep 6 '12 at 21:11
  • 1
    @DanH its more powerful than that...brighthub.com/computing/smb-security/articles/46693.aspx – Moab Sep 6 '12 at 21:13
8

Probably not. Unless they added one in Win 8

I recently purchased a new Pc with Win 7, the manufacturer bundled a third party shredder application. I infer that either there isn't one as standard (and I've never heard of one) or (less likely?) that the manufacturer added some unnecessary bloatware without the usual sliver of justification.

It's hard to prove a negative though.


Notes:

  1. Shred only overwrites a file, it doesn't seek out fragments and copies of the data in unallocated disk space (caused by editing etc).

  2. You don't need to overwrite a file more than once. Statements to the contrary have been thoroughly debunked long ago.

  3. It doesn't matter what you overwrite it with.

So just copying a sufficiently large but innocuous file over the top will suffice.


Update

You could delete the file then use cipher

  1. Quit all programs.
  2. Click Start, click Run, type cmd, and then press ENTER.
  3. Type cipher /w:driveletter:\foldername, and then press ENTER. Specify the drive and the folder that identifies the volume that contains the deleted data that you want to overwrite. Data that is not allocated to files or folders will be overwritten. This permanently removes the data. This can take a long time if you are overwriting a large space.

It's probably quicker to just copy a big file over the sensitive file, but safer to clear unallocated space.

| improve this answer | | | | |
  • 1
    nice approach, i use to do exactly that, after using some pro data recovery tools, like recovermyfiles from GetData, i created a small c# program that create dummy data, by specifying the size, to defeat such tools. thanks for your help, i wish i could vote up, but i cant, (still new to super user). regards. – Tawfik Khalifeh Sep 6 '12 at 22:19
  • 1
    Interesting, I learned something today. Thanks for this! – Mark Allen Sep 6 '12 at 22:33
  • Quick question. If i delete some files, say in C:\Downloads\Goat-pics and in C:\Download\favicons\potato-icons and then run cipher /w:C:\Downloads will it cover both of those drives? or does it need to be run on those folders directly? – PsychoData Jul 16 '14 at 16:13
  • @PsychoData: if Goat-pics and potato-icons are in separate volumes you need to run cipher on each volume separately. Otherwise you only need to run it once on the one volume that contains both folders. For most home users it is unlikely that there are multiple volumes or mount-points under C: - in which case cipher could just be used on C:. After all "empty" space (including fragments of deleted files) belongs to the drive/volume not to the folder. – RedGrittyBrick Jul 16 '14 at 19:14
  • 1
    You cannot simply "copy a big file over the sensitive file". Because your editor might create a new file with the new content and simply unlink the old references. Because the filesystem might simply allocates new fragment rather than overwriting older ones. Because the hardware might be allocating the blocks elsewhere rather than overwriting them (esp. true with SSD for performance and wear-leveling). Finally the data might still be there on disk (e.g. snapshots) – Huygens Feb 11 '19 at 11:19
8

Piriform's CCleaner offers an option to wipe out free space. File Shredder allows to wipe out a particular file "on deletion time"

**EDIT: Found something on MS' sysinternas. SDelete. Haven't tried but could give it a try.

| improve this answer | | | | |
  • already using it, for like 6 years :-), i just want to make sure there is no Microsoft standard for doing such a sensitive task. – Tawfik Khalifeh Sep 6 '12 at 21:38
  • Found something else. Check it out to see if it helps – Alfabravo Sep 6 '12 at 21:51
  • already checked it, given by @Moab in the above comments, found it useful, thanks for your interest. – Tawfik Khalifeh Sep 6 '12 at 22:00
  • 1
    @sarepta MS is not great at providing standard tools for common tasks. Even when it does, third-party tools are often better. Windows is one platform where you shouldn't worry too much about sticking with the "official" way of doing things. – Isaac Rabinovitch Sep 6 '12 at 22:26
  • @IsaacRabinovitch indeed. Anyhow, sysinternal's stuff often solves such needs. – Alfabravo Sep 6 '12 at 23:11
2

Not Windows-native, but likely to be already installed for many people reading this question: Git for Windows comes with its own ports of many common Unix utilities, including shred. By default it's located at C:\Program Files\Git\usr\bin\shred.exe.

Usage is the same as on Unix-likes, e.g. C:\"Program Files"\Git\usr\bin\shred.exe myfile.txt

| improve this answer | | | | |
1

If you consider Powershell to be built-in, then it is possible to write a script let, maybe using Get-Random to overwrite the content of a file with random values, before deleting it.

This stack overflow question might be useful.

| improve this answer | | | | |
  • have a complete functional c# program if you want (its a tiny-program not a full fledged one). – Tawfik Khalifeh Sep 6 '12 at 22:28
0

Today I Googled, found an article at lifewire.com, and settled on Eraser. I'm very impressed so far. It integrates with Windows Explorer, adding an Eraser -> Erase right-click menu pick.

| improve this answer | | | | |
0

SDelete is as close to native as I've ever found.

It has no installer, so if you simply extract the files to their own directory in Program Files, than add that to your PATH, you can use it from the command line as you would del. It can delete recursively and shreds both the file contents and name.

The first time it runs, it shows an "Agree to Terms" dialogue, so run it once before you script anything with it.

| improve this answer | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.