背景
Cドライブの空き容量不足は、Windowsユーザーにとって古典的な悩みです。主な原因は次のとおりです:
- WeChat/QQのチャット履歴とファイルキャッシュ(簡単に数十GBに)
- ブラウザのキャッシュとユーザーデータ
- pip / npm / conda / cargo などのパッケージマネージャーのグローバルキャッシュ
- Adobe / Office / ゲームなどの大規模ソフトウェアのデフォルトインストール/データディレクトリ
- Windowsアップデートの残骸と一時ファイル
これらのソフトウェアのほとんどは、デフォルトでCドライブにデータを書き込むように設定されており、パスを変更するオプションが提供されていません。ソフトウェアの再インストールやレジストリの編集は面倒でリスクもあります。
mklink コマンドはエレガントな解決策を提供します — 実際のデータはD/Eドライブに保存し、ソフトウェアには「まだCドライブにある」と思わせます。
mklink とは
mklink はWindowsに内蔵されたコマンドラインツール(Vista以降)で、リンクを作成するために使用します。本質的には 「パスのエイリアス/ポインタ」 であり、Linuxの ln -s に類似しています。
🧊 例え:デスクトップのショートカットをダブルクリックすると、実際には別の場所にあるファイルが開かれます。mklink は「実際の保存場所」と「ソフトウェアが期待するパス」を関連付けるという同じことを行います。
3種類のリンク
| 種類 | コマンド | 対象 | 特徴 |
|---|---|---|---|
| シンボリックリンク | /D |
ディレクトリ | 別パーティション可能、最も一般的、「ディレクトリのショートカット」のようなもの |
| ハードリンク | /H |
ファイル | 同一パーティションのみ、複数のパスが同じデータを指す |
| ディレクトリジャンクション | /J |
ディレクトリ | 別パーティション可能、古いNTFS技術、互換性が高い |
⭐ 日常使いでは
/J(ディレクトリジャンクション)または/D(ディレクトリシンボリックリンク)を推奨。ソフトウェアのデータディレクトリを移動する場合、両者の効果はほぼ同じです。
操作手順
対象ソフトウェアを閉じる
データを移行するソフトウェアが完全に閉じている(バックグラウンドプロセスも含む)ことを確認してください。ファイルが占有されていると移動できません。
元のフォルダを移動する
|
|
⚠️ コピーしないでください! 移動(move)またはカットを使用して、元のパスが存在しなくなったことを確認してください。
リンクを作成する
|
|
または /D を使用:
|
|
確認
Cドライブの元のパスを開き、Dドライブのファイルに正常にアクセスできることを確認します。
🔍 CMDで親ディレクトリに移動し、
dirを実行します。リンク項目には<JUNCTION>または<SYMLINKD>マークが表示されます。
よくある使用例
WeChatデータ移行 ⭐
WeChatはCドライブの大敵で、チャット履歴とファイルキャッシュが簡単に数十GBに達します。
|
|
新しいバージョンのWeChatは
C:\Users\ユーザー名\Documents\WeChat Filesに、古いバージョンはインストールディレクトリのWeChat Filesにデータを保存します。
QQデータ移行
|
|
Chrome / Edge ブラウザキャッシュ
|
|
開発ツールのキャッシュ
|
|
より良い方法は、パッケージマネージャーのキャッシュパスを直接設定することです(例:
npm config set cache)。環境変数を使用する方法がより安定しており、mklinkは最終手段として使用します。
Windowsストアアプリ / 大型ゲーム
一部のUWPアプリやXbox Game Passゲームはインストールパスを変更できませんが、mklinkを使用して移行できます。
|
|
⚠️ WindowsAppsディレクトリの操作は複雑で、権限の取得が必要です。一般ユーザーは注意して行ってください。
OneDrive / iCloud 同期ディレクトリ
|
|
注意事項と落とし穴
| 問題 | 説明 |
|---|---|
| 先に移動してからリンク | mklink は対象パスが存在していない必要があり、存在するとエラー ファイルが既に存在します が発生 |
| 移動前にバックアップ | 操作は可逆的ですが、重要なデータは事前にバックアップを推奨 |
| システムディレクトリに触らない | C:\Windows、C:\Program Files などのシステムディレクトリは操作しない |
| リンク削除 ≠ データ削除 | Cドライブの「ショートカット」を削除してもリンクのみ削除、Dドライブのデータは残る |
| リンクの正しい削除方法 | rmdir "C:\リンクパス"(del ではない) |
| 管理者としてCMDを実行 | 一部のディレクトリは管理者権限が必要 |
| NTFSファイルシステム | NTFSのみサポート、FAT32/exFATは非対応 |
| 復元操作 | リンクを削除 → DドライブのデータをCドライブの元のパスに戻す |
リンクの削除/復元
|
|
クイック診断:Cドライブの容量を消費しているのは?
mklinkを実行する前に、ツールを使用してCドライブを分析し、本当の原因を見つけることをお勧めします:
| ツール | 特徴 |
|---|---|
| WizTree | 高速スキャン、直感的なツリーマップ、無料 |
| SpaceSniffer | 視覚的なブロックチャート、直感的 |
| TreeSize Free | 定番ツール、フォルダサイズ順にソート |
| Windows ディスククリーンアップ | cleanmgr、一時ファイルとアップデートの残骸をクリーン |
🔥 WizTree をお勧めします — MFTを直接解析するため、数秒でハードドライブ全体をスキャンできます。
まとめ
mklink の中心的な考え方は次のとおりです:
|
|
操作の合言葉:ソフトウェアを閉じる → フォルダを移動 → mklinkでリンク作成 → 動作確認
これは「レジストリを編集する」「別のドライブに再インストールする」よりも安全で、可逆的で、効率的です。このコマンドをマスターすれば、Cドライブが理由もなく赤くなることはもうありません。🎉
関連資料
- ディスククリーンナップツール:WizTree / SpaceSniffer
- パッケージマネージャーのキャッシュパス設定:npm、pip、cargo公式ドキュメント