空きディスク容量 不足の際の不要ファイル (フォルダ) の特定方法


こんにちは。以下、私自身の備忘 (メモ) のために記載します。

Windows でディスク容量が不足し、ドライブのクリーンアップをおこなっても思うように容量が減らない場合、自力で どのファイル (またはフォルダー) が原因か特定する必要があります。
こうした場合に役立つコマンドを以下に記載します。

 

ディスクを食っているファイルのトップ 10 を取得 (Windows コマンド)

ディスクを消費しているファイルのトップ 10 を取得する Windows コマンドのサンプルです。

ls -recurse | sort -des length | select -first 10 name, fullname, length

 

ディスクを食っているサブディレクトリをサイズの順にソート (Windows PowerShell)

上記のコマンドでは、例えば、フォルダーが犯人のケース (1 つ 1 つのファイルは小さいが、フォルダー全体が肥大化している場合) には対応できません。
下記では、特定のフォルダー直下のサブフォルダーのサイズ (含まれるすべてのサブフォルダーとファイルのサイズ合計) をソートすることで、上から順番に原因となるフォルダーやファイルを特定していくことができます。(下記では Windows PowerShell を使用しています。)

function dusage{ 
  param([String]$tgtDir = (pwd).Path) 
  
  filter dusage_filter{ 
    $sum = (dir -literalpath $_.FullName -recurse -force -erroraction silentlycontinue | 
      measure-object Length -sum).Sum 
    $result = New-Object Object |  
      Add-Member NoteProperty Folder $_.FullName -PassThru |  
      Add-Member NoteProperty Size $sum -PassThru 
    return $result 
  } 
  
  dir $tgtDir -force -erroraction silentlycontinue | 
    ? {$_.PSIsContainer} | dusage_filter 
}

dusage -tgtDir "c:\work" | sort -des size

 

参考 : よく容量を食っているもの

よくディスク容量を浪費しているものとして ゴミ箱のファイル、Web ブラウザーのキャッシュ、OS のテンポラリー一時ファイルなどがありますが、これらはドライブのクリーンアップ ツールで消去できます。
以下は、こうしたもの以外でディスクを食っているファイルやフォルダーの例を記載します。

Outlook データファイル (%userdata%\AppData\Local\Microsoft\Outlook\outlook.ost)

Outlook ではメールが溜まると、もちろんディスクを圧迫していきますが、Outlook 2010 などではメールを削除しても一度膨らんだデータファイルは減りません。
サイズを減らすには、削除済みフォルダーの中も含めいったん不要なメールを完全に削除してから、Outlook の設定でデータファイルの [圧縮する] を実行します。

また、Outlook データファイルを空いているドライブなどに移動する際には、以下の通り実行します。(以下は Outlook 2007 の場合です。)

  • 握っているファイルを離すため、いったん Outlook を閉じます。
  • [コントロール パネル] を開き、[メール] をクリックし、[電子メール アカウント] ボタンを押します。
  • 使用中のアカウントをダブルクリックして、表示される画面で [Exchange キャッシュ モードを使う] のチェックを外して [次へ] ボタン、[完了] ボタンを押します。
  • 再度、アカウントをダブルクリックしてウィンドウを開き、今度は [詳細設定] ボタンを押します。
  • 表示される画面で [詳細設定] タブを選択します。
  • [オフライン フォルダ ファイルの設定] ボタンを押します。
  • [オフラインを無効にする] ボタンを押します。(確認ダイアログが表示されるので、[はい] を押します。)
  • 再度、[オフライン フォルダ ファイルの設定] ボタンを押します。
  • [参照] ボタンを押して、新たに保存したい場所 (E:\Outlook\outlook.ost など) を設定してダイアログボックスを閉じます。(新たにファイルを作成するか確認するダイアログ ボックスが表示されるので、[はい] ボタンを押します。)
  • [Exchange キャッシュ モードを使う] のチェックをオンにして、[OK] ボタンを押してウィンドウを閉じます。(以降、[次へ] ボタン、[完了] ボタンを押して、ウィザードを完了させます。)
  • Outlook を起動すると、同期を開始します。

Outlook オンライン アドレス帳 (%userdata%\AppData\Local\Microsoft\Outlook\udetails.oab)

大企業などの場合、Outlook によりダウンロードされたアドレス帳も膨大なデータをローカルに保持する結果となります。
肥大化してしまったアドレス帳ファイルは、以下の方法で空いているドライブなどに移動できます。(Outlook 2007 の場合)

  • ファイルを握らないように、Outlook を閉じます
  • regedit (レジストリ エディター) を起動して、下記を表示します
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\<Profile_name>\13dbb0c8aa05101a9bb000aa002fc45a
  • レジストリ エディターの [編集] - [新規] で文字列値を追加し、値の名前を「001e660e」とします
  • 上記で追加した 001e660e を右クリックして [修正] を選択し、保存先 (変更先) の新しいフォルダの名前 (例 E:\Outlook など) を入力します
  • レジストリ エディター (regedit) を終了する
  • Outlook を再び起動します
  • Outlook の [ツール] - [送受信] - [アドレス帳のダウンロード] を選択します
    (Outlook 2010 の場合は、[送受信] タブの [送受信グループ] - [アドレス帳のダウンロード] を選択)
  • 表示されるダイアログ ボックスで、[完全な詳細情報] を選択し、[OK] ボタンを押します
  • 古いファイルを削除します

検索インデックス (%programdata%\Microsoft\Search\Data\Applications\Windows\Windows.edb)

Windows の検索インデックスもディスク浪費の原因となります。
インデックスの場所を他の空いているドライブなどに変更したい場合は、コントロール パネルから、[インデックスのオプション] を選択して、[詳細設定] でインデックスの場所を変更できます。

Windows のバージョン管理

Windows Vista、Windows 7 などで C ドライブのバージョン管理が有効になっている場合、ディスク圧迫の原因となります。
バージョン管理が不要な場合は、C ドライブのプロパティ画面を使って履歴を無効化できます。

 

Comments (0)

Skip to main content