HOME >> Tips >> Microsoft Windows

ファイルを完全に削除する方法

2017/1/10
文書番号:20654


Windows でファイルを削除しても完全には削除されません。
Shift + Delete キーを押すと「このファイルを完全に削除しますか?」と聞かれますが、これは「"ごみ箱へ移動"するのではなく削除しますか?」という意味で、 ごみ箱から戻すほど簡単には戻せませんが、復元ツールなどを使用すると復元することができます。

これは「削除された」ことを示す情報を持つだけで実際には削除されていないためです。


クリックで拡大

ただ削除されただけであればフリーの復元ソフトでも戻すことができます。

しかし、HDD 上の物理的に同じ場所に別のデータで上書きをすると元のデータ(ファイル)を復元することができなくなります。
※プロが使うツールを使うと多少上書きしても戻すことができるようですが。


つまりは何度か(何度も)別のデータで上書きをすれば元のデータは戻せなくなるということです。
そして、それをしてくれるツールが Microsoft から無償で提供されている「SDelete」というツールです。

この「SDelete」を使ってファイルを完全に削除してみます。

【操作方法】

  1. まずは Microsoft から SDelete をダウンロードします。

    SDelete 配布ページへアクセスします。


    画面右側にある「SDelete のダウンロード」ボタンをクリックします。

    クリックで拡大

  2. 保存ダイアログが表示されますので、デスクトップなどわかりやすいところに保存します。

    クリックで拡大

  3. ダウンロードした zip ファイルを右クリックして「すべて展開」します。

    クリックで拡大

  4. 「sdelete.exe」と「sdelete64.exe」ファイルがあります。
    実行する環境に応じて使用します。

    クリックで拡大

  5. 「sdelete.exe」はコマンドで実行するプログラムです。GUIはありません。
    コマンドプロンプトを起動し、以下のように実行します。

    ※「sdelete.exe」を配置したパスが通っていない場合はフルパスで指定します。
    
    sdelete.exe -p 3 -c D:\
    
    使用できる引数の説明です。
    -c 開き領域の不要なデータを除去します。
    -p 99 「99」は回数を指定します。
    規定値は「1」ですが回数は多いほうが確実です。
    -r 読み取り専用の属性を削除します。
    このオプションを指定しない場合、読み取り専用のファイルは削除されません。
    -s サブディレクトリを再起処理します。
    -z 空き領域に「0」を書き込みます。
    -nobanner 実行時にバナー表示を行いません。
    初めての実行時にのみ「License Agreement」が表示されます。
    一度「Agree」をクリックすると次からは表示されません。

    クリックで拡大

  6. コマンドの例

    Dドライブの空き領域をすべてクリアする
    
    sdelete.exe -p 3 -c D:
    
    「C:\temp\aaa.txt」ファイルを完全に削除する
    
    sdelete.exe -p 3 "C:\temp\aaa.txt"
    

    クリックで拡大


  7. ※回数は3回以上を指定するといいようです。
     米国国防総省・海軍では3回、米国空軍では4回という規格が定められています。
     (wikipedia「データの完全消去」より)
  8. ファイルを簡単に削除する方法として「sdelete」をバッチファイルで実行してみます。

    以下の内容を記述したbatファイルを作成します。
    削除したいファイルをドラッグすると削除することができます。

    ※「sdelete.exe」はパスが通っていない場合はフルパスで記述してください。

    
    @echo off
    
    echo %1
    SET /P ANS="削除します。よろしいですか (Y/N)?"
    
    if /i {%ANS%}=={y} (goto :yes)
    if /i {%ANS%}=={yes} (goto :yes)
    
    EXIT
    
    :yes
    
    sdelete.exe -p 3 %1
    
    pause