2017-01-30

tobijibu

Windowsでシンボリックリンクを使う

普段、現場ではWindowsを使っています。設定ファイルの設置をシンプルにするために、シンボリックリンクを使いたい時があります。

Windowsではショートカットというものがありますが、ショートカットはシンボリックリンクとは違い、ただのリンクです。そのため、ショートカット内のファイルをパスで指定しても使えません。

WindowsでもLinuxと同じようなシンボリックリンクを作るにはどうすれば良いでしょうか。

実はコマンドプロンプトから生成することができます。

コマンドプロンプトを管理者権限で起動し、下記のコマンドを実行します。するとLinuxと同じようなシンボリックリンクを生成することができます。引数がLinuxのlnの逆の指定なので注意してください。

mklink <リンクのパス> <ファイルのパス>

シンボリックリンクを使えるようになると、色々なことが少し便利になります。

例えば、私の場合は下記のバッチファイルを作成して、新しいPCでの初期設定を簡単にするといった使い方をしています。

mklink %HOMEPATH%"\.vimrc" %HOMEPATH%"\dotfiles\.vimrc"
mklink %HOMEPATH%"\.gvimrc" %HOMEPATH%"\dotfiles\.gvimrc"
mklink %HOMEPATH%"\ctags.cnf" %HOMEPATH%"\dotfiles\ctags.cnf"
mklink "C:\msys64\home\"%username%"\.tigrc" %HOMEPATH%"\dotfiles\.tigrc"
mklink "C:\msys64\home\"%username%"\.vimrc" %HOMEPATH%"\dotfiles\.vimrc"
mklink "C:\msys64\home\"%username%"\.minttyrc" %HOMEPATH%"\dotfiles\.minttyrc"
mklink "C:\msys64\home\"%username%"\memo" %HOMEPATH%"\memo"
mklink "C:\Program Files\keyhac\config.py" %HOMEPATH%"\dotfiles\config.py"

set URI=https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
bitsadmin /TRANSFER htmlget %URI% C:%HOMEPATH%\vim\autoload\plug.vim

是非活用してみてください。

補足:
mklinkを使うには管理者権限での実行と記載しておりますが、"ローカル セキュリティ ポリシー"の設定を変えることで、管理者権限無しでmklinkを使うことができます。今回はこの説明は含めておりません。