Uncategorized

Windows でフォルダごとの使用量を確認するコマンド

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

Windows でディスク容量が不足した場合、どのファイル (またはフォルダー) が原因か特定したいときがあります。
こうした場合に、特に余計なソフトを入れずに使える下記のコマンドを紹介します。

 

ディスク容量を消費しているファイルのトップ 10 を取得 (Windows Command)

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

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

 

ディスク容量を消費しているサブディレクトリをサイズの順にソート (PowerShell)

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

Windows 標準の PowerShell を開き、下記のコマンドをコピー・ペーストしてください。ただし、c:\work は、確認したいフォルダのパスを指定します。

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

 

参考 : Windows でよく容量を消費しているもの

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

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

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

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

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

Outlook オンライン アドレス帳 (%userprofile%\AppData\Local\Microsoft\Outlook\Offline Address Books)

Outlook によりダウンロードされてキャッシュされたアドレス帳 (.oab ファイル) も、大企業の場合などには膨大な量のデータがローカルに保持される結果となります。

以下の方法でキャッシュを無効にできます。下記により、常にサーバーのアドレス帳を見に行きます。
(Microsoft Support に記載されている「you must set the registry value, remove any .oab files from the local computer, and then synchronize」がこの作業に該当します。なお、レジストリ エディタの変更は、自己責任でおこなってください。。。)

  • レジストリ エディタ (regedit.exe) を起動
  • HKEY_CURRENT_USER\Software\Microsoft\Office\{version}\Outlook に移動
  • 「Cached Mode」という名前のキー (入れ物) を作成します
    (HKEY_CURRENT_USER\Software\Microsoft\Office\{version}\Outlook\Cached Mode というキーが作成されます)
  • 「DownloadOAB」(DWORD) の値を作成して「0」に設定します
  • Outlook を閉じます
  • %userprofile%\AppData\Local\Microsoft\Outlook\Offline Address Books の中のディレクトリやファイルをすべて削除します
  • Outlook を起動します
    (上記ディレクトリに GUID 名のフォルダが作成されますが、今度は oab ファイルは作成されず空になっているはずです。)

肥大化してしまったアドレス帳ファイルは、以下の方法で空いているドライブなどに移動できます。(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 ドライブのプロパティ画面を使って履歴を無効化できます。

UWP Application Packages (%userprofile%\AppData\Local\Packages)

コントロールパネルの「プログラムと機能」(Programs and Features) で使用していないアプリを確認することは多いと思いますが、Windows に入っている UWP アプリケーション (ストア アプリ) も、不要なものを入れたままにするとディスク浪費の原因となります。

スタートメニューから、表示される UWP アプリの一覧で要らないものを消すか、見えていないアプリについては、下記の通り PowerShell を使って削除できます。

# Search packageGet-AppxPackage *Zune*# Remove packageRemove-AppxPackage -Package Microsoft.ZuneMusic_10.19011.11311.0_x64__8wekyb3d8bbwe

 

Categories: Uncategorized

Tagged as:

Leave a Reply