2023年7月9日日曜日

Windowsでシンボリックリンクを使ってみる

こんばんは。ざわです。

Googleで「シンボリックリンク」で検索すると、
「シンボリックリンクとは、Linux においてコンピューター上にある他のファイルやフォルダを指し示す働きを持つファイルです。
英語では symlink とも呼ばれ、Windows におけるショートカットとよく似ています。」とでてきます。

私は、これまでLinuxで使ったことはありますが、Windowsにもシンボリックリンクがあることは知らず、、
先日 仕事で使う機会があったので、Windowsのシンボリックリンクについて書いてみたいと思います。

Windows シンボリックリンクを知った経緯は、
担当しているシステムで、そのプログラムが参照するxmlファイルのパスが変わることになり、
(これまではプログラムファイルと同じ環境に配置していたxmlファイルを、サーバ上での管理に変更)
xmlファイルのパスは設定ファイルで設定しているので、その設定を変更すればいいだけなのですが、
ちょっとした理由があって、設定は変更せずこれまでのパスのままにしておきたいなぁ、、と。

Linuxであればシンボリックリンクで対応できるけど、と思い
試しに「Windows シンボリックリンク」で検索してみたらありました!

Windows シンボリックリンク 作成方法


 ショートカットはエクスプローラー(GUI)で作成できますが、
 シンボリックリンクはできませんので、コマンドプロンプトで作成します。
  1. コマンドプロンプトを起動
    その際、管理者権限で実行する必要があるので「管理者として実行」で開く。

  2. mklinkコマンドを実行
    構文:
     mklink {作成するシンボリックリンク名} {リンク元パス}

    例:
     mklink C:\テストプログラム\info\data1.xml C:\リンク元\info\data1.xml
 [C:\テストプログラム\info]配下に、data1.xml というシンボリックリンクが作成されました。


ディレクトリのリンクを作成する場合は、mklinkコマンドのパラメータに [/d]を付けます。
構文:
 mklink /d {作成するシンボリックリンク名} {リンク元パス}

例:
 mklink /d C:\テストプログラム\info_link C:\リンク元\info 

[C:\テストプログラム]配下に、info_link というシンボリックリンクが作成されました。

これで、プログラムの設定ファイルに "C:\テストプログラム\info_link" を設定すれば、
[C:\リンク元\info]下のxmlファイルを参照するようになります。

シンボリックリンクは、シンボリックリンク自体を削除しても、元ファイルは削除されませんが、
同期しているのでシンボリックリンクのディレクトリ内のファイルを更新、削除すると元ファイルも更新、削除されます。

それではまた。

0 件のコメント:

コメントを投稿