Linuxでは広く使われているシンボリックリンク。Windowsでも、コマンドプロンプトからmklinkコマンドを使えば作成することができる。
シンボリックリンクを作ったはいいが間違えたり、不要になって削除するときにエラーになってシンボリックリンクを削除できないときの対処方法を紹介する。
環境と権限
エラーが発生するのは職場のドメイン環境で、ドメイン参加しつつ、自分のPCへの管理者権限を有している。cmdコマンドプロンプトは管理者権限で実行する。
Windowsでのシンボリックリンク作成方法
まず、Windowsでのシンボリックリンク作成方法、コマンドプロンプトで実行するコマンドは以下の通り。WindowsはVista以降で対応している。(要管理者権限)
mklink [/D] "作成先"\"リンク名" "作成元"\"リンク元ファイル"
フォルダ(ディレクトリ)のシンボリックリンクを作成する場合は/Dオプションが必要。
Windowsでのシンボリックリンク削除方法
シンボリックリンクの削除方法は、通常削除かdelコマンドがある。
シンボリックリンクの通常削除
フォルダ(ディレクトリ)の場合は普通に右クリックから削除、Delキーで削除が可能だ。普通に削除できるので書くまでもない。
delコマンドでのシンボリックリンク削除
ファイルのシンボリックリンクを削除しようとしたときに、リンクのエラーで削除できないケースであった。エラーは職場のドメイン環境で起こり、自宅のローカル環境ではリンクのエラーは発生しなかった。
Windowsエラーコード:0x800705B7
予期しないエラーのため、ファイルを削除できません。このエラーが再発する場合は、エラー コードを使用して、この問題についてのヘルプを検索してください。
エラー 0x800705B7: シンボリック リンクの種類が無効なため、リンク先に接続できません。
SymLinkFile
種類: symlink
サイズ: 0 バイト
更新日時: YYYY/MM/DD
正直、Windowsエラーコードを検索しても期待する回答は見つからなかった…
通常の削除がエラーで失敗する場合は、以下のコマンドで削除ができた。
del "作成先"\"リンク名"
原因は不明だが、delコマンドを使用することで、エラーでシンボリックリンクが削除できない事象を回避することができた。
まとめ
Windowsのシンボリックリンクが通常削除できない場合は、delコマンドで削除できることがある。(環境差異はご了承ください)