シンボリック リンク

Posted by muchag | Windows,コマンドプロンプト | 2015-01-01 (木) 15:09:53

長らくプロジェクトディレクトリと作業ディレクトリを分けていて、面倒だな~と思っていた。
今日、突然、「そうだ! シンボリック リンク を張ればいいんでないかしら」と思った。(遅

【環境】
[Windows] 7 Home SP1

グーグル先生に質問をしてみたところ

  • ハードリンク
  • ソフトリンク
    • ジャンクション
    • シンボリック リンク

という種類があるとのこと。

Windows では mklink というコマンドを使うらしい。

1回読んだだけでは、ピンとはこなかったけど
一応ちこっとだけ書き込み。
後々追記。
 

ハードリンク

1つの実態に複数のパスを登録するもの。
1つ目はもちろんデフォルトのパス。
その他に疑似パスを Windows へ登録しておくものみたい。

同一ボリューム上のファイルにのみ有効。
 

ソフトリンク
ジャンクション

同一PC上のフォルダにのみ有効。
 

シンボリック リンク

この機能が実装されたのはWindows Vista/Windows Server 2008以降。
管理者権限 で実行すること。

  1. // ファイルの場合
  2. $ mklink リンク ターゲット
  3.  
  4. // フォルダの場合
  5. $ mklink /D リンク ターゲット

※リンク=虚体、ターゲット=実体

注意点

リンク側を、先に Windows 上で作成してしまうとエラーになる。
ファイルを先に作るようなことはないかもしれないけど、フォルダも作っておいてはいけない。

 

スペース文字

パスを記述する際に、Program Files など、半角スペースの入ったディレクトリ名やらファイル名があると、コマンド実行時にエラーになる。
その時は、パスを “”(ダブルクォーテーション)で括ってやれば OK !

Linux 風

参考サイトを読む限り、下記で上手くいくと思ったんだけど
残念ながら、ダメ だった。。。

寧ろ、Windows 書式のままで読み込んだ。
ん~、前の時は、Windows 書式だとダメだった気がするんだけどな~。

サーバーOS:Linux
ローカルOS:Windows
というときに、パスの書式が異なるので困ることがある。

そういうときは、シンボリックリンクを利用して、Windows 書式を Linux 書式に変換することができる。
便利~♪

  1. // OK
  2. # mklink /d hoge C:\hoge
  3.  
  4. // NG
  5. # mklink /d hoge/moge C:\hoge

但し、/(スラッシュ)は使えないので、対象ディレクトリに名前を付けるイメージ。

参考サイト

+++ 上野メモ帳 +++:WindowsだけどLinux風のパスを使いたい(2010-10-20)

参考元サイト

Windowsでシンボリックリンクを作る
@IT:シンボリック・リンクとジャンクションとハードリンクの違い
 

2015-01-23 追記
削除
  1. // ファイルの場合(未検証)
  2. $ del リンク
  3.  
  4. // フォルダの場合
  5. $ rmdir リンク

※リンク=虚体

でも、普通にGUIで削除してよいらしい。。。(未検証)

Windows,コマンドプロンプト | 2015-01-01 (木) 15:09:53 |

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment