このエントリーをはてなブックマークに追加


コマンドプロンプトでシンボリックリンク、ハードリンクを作成する

mklinkコマンドを使用することにより、ファイルやディレクトリのシンボリックリンクおよびハードリンクを作成することができます。
本資料ではWindows8を使用して動作確認を行いました。


関連資料

mklinkについて

mklinkコマンドはWindows Vistaから使えるようになりました。
したがって、WindowsXPにはmklinkコマンドはありません。

以下はmklinkコマンドnヘルプを出力して貼ったものです。
本資料では、/D, /Hオプションを使用した例を記します。

C:\WINDOWS\system32>mklink
シンボリック リンクを作成します。

MKLINK [[/D] | [/H] | [/J]] リンク ターゲット

        /D          ディレクトリのシンボリック リンクを作成します。既定では、
                    ファイルのシンボリック リンクが作成されます。
        /H          シンボリック リンクではなく、ハード リンクを作成します。
        /J          ディレクトリ ジャンクションを作成します。
        リンク      新しいシンボリック リンク名を指定します。
        ターゲット  新しいリンクが参照するパス (相対または絶対)
                    を指定します。

シンボリックリンクを作成してみる・ファイル編

コマンドプロンプトは管理者で起動しmklinkコマンドを試しました。

  • 構文
    mklink シンボリックリンク名 ファイル名

MKLINKコマンドでシンボリックリンクを作るには以下のような操作になります。
操作はすべてコマンドプロンプトから行いました。

  1. デスクトップ上にsrc.txtを作成。
    C:\Users\sakura\Desktop>echo sakura > src.txt
    
    C:\Users\sakura\Desktop>type src.txt
    sakura
     
  2. MKLINKコマンドを使用してsrc.txtのシンボリックリンクlnk.txtを作成します。
    C:\Users\sakura\Desktop>mklink lnk.txt src.txt
    lnk.txt <<===>> src.txt のシンボリック リンクが作成されました
  3. dirコマンドで確認すると <SYMLINK>と表示されているのが確認できます。
    C:\Users\sakura\Desktop>dir *.txt
     ドライブ C のボリューム ラベルは Windows8 です
     ボリューム シリアル番号は ABCD-ABCD です
    
     C:\Users\sakura\Desktop のディレクトリ
    
    2013/02/07  23:42    <SYMLINK>      lnk.txt [src.txt]
    2013/02/07  23:40                 9 src.txt
                   2 個のファイル                   9 バイト
                   0 個のディレクトリ  371,760,795,648 バイトの空き領域

シンボリックリンクを作成してみる・ディレクトリ編

ディレクトリのシンボリックリンクを作成するには、/Dオプションを使用します。

  • 構文
    mklink /d シンボリックリンク名 ディレクトリ名

MKLINKコマンドでディレクトリのシンボリックリンクを作るには以下のような操作になります。
操作はすべてコマンドプロンプトから行いました。

  1. ディレクトリsrcdirを作成し、作成したディレクトリ内にtext.txtを作成しました。
    C:\Users\sakura\Desktop>mkdir srcdir
    
    C:\Users\sakura\Desktop>echo sakura > srcdir\text.txt
  2. MKLINKコマンドを使用してsrcdirのシンボリックリンクを作成します。
    C:\Users\sakura\Desktop>mklink /d lnkdir srcdir
    lnkdir <<===>> srcdir のシンボリック リンクが作成されました
  3. dirコマンドで確認すると<SYMLINKD>が作成されているのが確認できます。
    C:\Users\sakura\Desktop>dir
     ドライブ C のボリューム ラベルは Windows8 です
     ボリューム シリアル番号は ABCD-ABCD です
    
     C:\Users\sakura\Desktop のディレクトリ
    
    2013/02/07  23:50    <DIR>          .
    2013/02/07  23:50    <DIR>          ..
    <snip>
    2013/02/07  23:50    <SYMLINKD>     lnkdir [srcdir]
    2013/02/07  23:49    <DIR>          srcdir
    <snip>
                   7 個のファイル               9,873 バイト
                   4 個のディレクトリ  371,753,107,456 バイトの空き領域
  4. text.txtをシンボリックリンクしたディレクトリ名を使用し表示してみます。
    C:\Users\sakura\Desktop>type lnkdir\text.txt
    sakura

ハードリンクを作成してみる(ファイル編)

以下ハードリンクを作成する例です。

  • 構文
    mklink /h リンク名 ファイル名
  1. ターゲットとなるファイルhsrc.txtを作成しtypeコマンドで内容を確認。
    C:\Users\sakura\Desktop>echo sakura > hsrc.txt
    
    C:\Users\sakura\Desktop>type hsrc.txt
    sakura
  2. ハードリンク名(hlnk.txt)を作成します。
    C:\Users\sakura\Desktop>mklink /h hlnk.txt hsrc.txt
    hlnk.txt <<===>> hsrc.txt のハードリンクが作成されました
    
    C:\Users\sakura\Desktop>dir *.txt
     ドライブ C のボリューム ラベルは Windows8 です
     ボリューム シリアル番号は ABCD-ABCD です
    
     C:\Users\sakura\Desktop のディレクトリ
    
    2013/02/07  23:59                 9 hlnk.txt
    2013/02/07  23:59                 9 hsrc.txt
  3. hlnk.txtの内容を変更しhsrc.txtを確認します。
    ハードリンク(実体が同じ)なのでhlnk.txt, hsrc.txtともに同じ内容です。
    C:\Users\sakura\Desktop>echo suzuran >> hlnk.txt
    
    C:\Users\sakura\Desktop>type hsrc.txt
    sakura
    suzuran

以上、mklinkコマンドの使用方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:49:32