Windowsでシンボリックリンクを実現する

よく忘れるのでメモ。
PowerShellではなく、CMD.exe(いわゆる DOS 窓)からの実行です。

%USERPROFILE%/Download を移動したい

SSD が 512GB しかないので、アプリをダウンロードしたものを一緒に置いておくとつらいので、別のドライブにダウンロードディレクトリを移動することにしました。

「ダウンロード」フォルダのプロパティから「場所」を開き、別ドライブにすることでダウンロードフォルダ自体は変更できます。
ですがSlackThunderBirdなど、一部のプログラムでは直接「%USERPROFILE%\Downloads」がターゲットになっている様子。
プログラムごとにいちいち設定変更するのも面倒なので、%USERPROFILE%\Downloadsを他の場所にリンクしてしまいましょう。

まずは「ダウンロード」フォルダの向き先を変える

今回は外付け HDD「F:\downloads」にします。
「ダウンロード」フォルダのプロパティから、「場所」をお好みの場所に変更します。

ダウンロードプロパティの変更

コマンド

Windows + R から 「ファイル名を指定して実行」ダイアログを開き、 CMDと入力して、コマンドプロンプトを開きます。
開いたら C:\Users\nekoha> の様に、ユーザディレクトリがカレントディレクトリになっているはず。

ユーザディレクトリのDownloadsを消して、F:\downloadsに向けます。

rmdir /s/q Downloads  
mklink /D Downloads F:\downloads  

これで作業は完了です!

せっかくなのでmklinkについてもメモ。
ディレクトリにシンボリックリンクを張る場合は/Dオプションが必要になります。

mklink /D [新しいディレクトリ名] [リンク先(実体)のディレクトリ名]  

ファイルの場合は/Dオプション不要。

mklink /D [新しいファイル名] [リンク先(実体)のファイル名]  

fromtoの関係を to, fromの順で書くので紛らわしいですね。
逆に書くと「ローカル NTFS ボリュームは、操作を完了する必要があります。」の様にエラーメッセージが出ます。

参考リンク

Subscribe to 猫好きが猫以外のことも書く

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe