Windowsで特定のフォルダーやファイルだけを完全消去する「SDelete」

Windowsで特定のフォルダーやファイルだけを完全消去する「SDelete」

Windows環境でフォルダーやファイルを削除するとごみ箱に移動され、ごみ箱を空にした時点でそれらのフォルダーやファイルは消去され、通常は復元することはできませんが、専用のデータ復元ツールを利用すれば、消去されて間もなければ意外と簡単に復元することができます。

一般的な用途のWindowsパソコンであれば、復元されて困るようなデータはあまりないですが、企業で利用するパソコンなどでは、企業秘密が記録されたファイルなどが保存されている場合もあり、そのようなファイルを消去したときは、万が一にも復元されないよう万全を期したいところです。

そこでここでは、Microsoftが提供するSysinternalツールの一つ「SDelete」を使って、特定のフォルダーやファイルだけを復元できないよう完全消去する方法を紹介します。

Windows 10のDiskpartでハードディスク上のデータを完全消去する方法
ここでは、Windows 10でDiskpartツールを使ってドライブのデータを復元されにくいよう完全消去する方法を紹介します。

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit22H2
SDelete2.04

SDeleteとは

SDeleteは、システムやアプリケーションの管理、トラブルシューティングや診断に役立つ各種ツール群がまとめられたMicrosoftが提供するWindows Sysinternalsに含まれるツールで、フォルダーやファイルを完全消去したり、ドライブの空き領域を完全消去できるコマンドラインツールです。

SDeleteツールは、以下のWebページからダウンロードします。

SDelete - Sysinternals | Microsoft Learn

Windowsで特定のフォルダーやファイルだけを完全消去する「SDelete」

ダウンロードしたZIPファイルを展開して、任意のフォルダーに配置したら準備完了です。

Windowsで特定のフォルダーやファイルだけを完全消去する「SDelete」

SDeleteツールの使い方

SDeleteを使ってフォルダーやファイルを完全消去する手順は、以下のとおりです。

SDeleteツールはコマンドラインツールのため、フォルダーやファイルを完全消去するときは、コマンドプロンプトやPowerShellから利用します。

Memo

32bit版のWindowsでは「sdelete.exe」、64bit版のWindowsでは「sdelete64.exe」を利用します。

たとえば「D:¥test\file1.txt」を完全消去するときは、以下のように実行します。

> sdelete64.exe -nobanner "D:\test\file1.txt"

Windowsで特定のフォルダーやファイルだけを完全消去する「SDelete」

「D:\test」フォルダーとサブフォルダーを含めて完全消去するときは、以下のように実行します。

> sdelete64.exe -nobanner -s "D:\test"

Windowsで特定のフォルダーやファイルだけを完全消去する「SDelete」

なお、上の方法では1つずつ処理する必要があり、複数のフォルダーやファイルを一括で完全消去したいときは面倒なので、以下のようにバッチファイル化するのがおすすめです。

@echo off
setlocal enabledelayedexpansion
set d=%~dp0
set logfile=%d%%~n0.log
set sdelete-path=D:\sdelete\sdelete64.exe

echo %date:/=%%time::=% >>%logfile%

for %%A in (%*) do (
  set attr=%%~aA
  if "!attr:~0,1!"=="d" (%sdelete-path% /s "%%A" >>%logfile%)
  if "!attr:~0,1!"=="-" (%sdelete-path% "%%A" >>%logfile%)
)
endlocal
Memo

なお、上のバッチファイルでは、ドラッグ&ドロップしたフォルダーやファイルを一括で完全消去できますが、ファイル名に日本語が含まれるファイルのみ単体での処理が正常に実行できないため、ファイル名に日本語が含まれるファイルは、フォルダーにまとめた上でドラッグ&ドロップすれば正常に処理できます。

なお、大きなサイズのフォルダーやファイルを削除した場合、処理に時間がかかることがあるのでご留意ください。

おまけ

SDeleteツールではドライブの空き領域を完全に消去することもできます。

たとえば、Dドライブの空き領域を完全消去するときは、以下のように実行します。なお、既存のデータには影響を与えません。

> sdelete64.exe -nobanner -z D:

Windowsで特定のフォルダーやファイルだけを完全消去する「SDelete」

なお、ドライブの空き領域の完全消去には、数時間またはそれ以上かかることがあるのでご留意ください。

あとがき

フォルダーやファイルを完全消去する場合、サードパーティーのツールを利用するのが一般的ですが、コマンドラインツールで対応したい場合はSDeleteツールがおすすめです。Microsoft製という安心感もありますし。