Hatena::ブログ(Diary)

GeekなNooblog このページをアンテナに追加 RSSフィード

2008年05月14日 WindowsXPにおけるジャンクション作成方法

[][] ジャンクション作成方法

ジャンクションとは、簡単に言うとショートカットのようなものです。

C:\Windowsへのジャンクションをデスクトップに作成し、そこをダブルクリックするとデスクトップからC:\Windowsに移動できます。

ショートカットは、移動するための近道みたいなものですが、ジャンクションはそこにあたかも実態があるかのように振舞います。

よくわからないよ・・・って方は気にせずショートカットの強化版とかそんな感じだと思っていてください

今回は2つの方法を紹介します。1つはコマンドを使ってジャンクションを作成する方法、もう1つはドラッグ&ドロップで作成する方法です。

どちらも作成されるものは同じなので好きな方法でどうぞ

コマンド派な方(中上級者向け)

ダウンロードしてパスの通っているところにjunction.exeを移動して下さい。

Junction v1.05

http://technet.microsoft.com/ja-jp/sysinternals/bb896768(en-us).aspx

使い方

usage: junction.exe [-s] [-q] ジャンクション 実在するディレクトリ

-q エラーメッセージを表示しない

-s Recurse subdirectories

例)C:\testにC:\Program Filesへのジャンクションを作成する

junction.exe C:\test "C:\Program Files"


usage: junction.exe [-d] <junction directory> [<junction target>]

-d 指定したジャンクションを削除

example: junction d:\link c:\winnt

例)作成したC:\testを削除する

junction.exe -d C:\test


ドラッグ & ドロップ(初級者向け)

リンク作成シェル拡張

http://sourceforge.net/projects/lnhdr/

lnhdr-1.52-x86-ja.msiを実行してインストール

インストールは適当に進めてください。完了したら再起動

使い方

R:\testへのジャンクションをC:\testに作成する場合

C:\ドライブとR:\ドライブを開きます

R:\testを右クリックでドラッグしてC:\へ持って行きます。C:\の上で右クリックを離すとリンクを作るというのがメニューに表示されるのでクリック


これでジャンクションが作成されました。


試しにC:\testとR:\testを開いた状態でC:\testにファイルを作成してみましょう。

そうするとどちらのフォルダにも新しくファイルが作成されていることがわかります。

ジャンクションを削除する場合はC:\testを他のファイル同様削除します。

実例

Ramdisk上にフォルダを作ります。

しかしただ作るだけでは再起動後に消えてしまうので、再起動後もフォルダが維持されるような設定を行います。

注意:Windowsのキャッシュを指定したフォルダが再起動後に削除されてしまうと、Windowsが起動できなくなってしまいます。

必ずNTFSにフォーマット後、フォルダを作成し、設定を保存するようにして下さい。

この説明を読んでもわからない人は↓からbatファイルをダウンロードし実行して下さい。

以下のbatではNTFSのフォーマット、アクセス権限の変更、Desktop、TempフォルダをRAMDISK上に作成、これらのRAMDISKの状態の保存を行います。これにより次回起動時も自動的にNTFSフォーマットされ、フォルダも自動的に生成されます。

セットアップとフォルダ作成

batファイルを実行

最初にドライブレターを指定します。デフォルトならR

次にRamDiskと入力

yと入力

yと入力

「RAMDISKに好きなようにフォルダを作成して下さい。完了したらエンター」 と表示されたら、RAMDISKのドライブを開きフォルダを作成して下さい。TempとDesktopフォルダは既に作成されています。

作成したら開いているRAMDSIKを閉じてからエンターで完了

完了と表示されたら閉じちゃって下さい。

適当にフォルダを消してから再起動してフォルダが復元されているか確認しましょう。


WindowsのキャッシュRAMDISK上に(IEのキャッシュも)

1.R:\Tempフォルダを作成

2.マイコンピュータ右クリックプロパティの詳細設定タブの環境変数(N)をクリック

3.ここの赤枠の計4箇所を編集し、R:\Tempとする。

こんな感じ


以上キャッシュはRAMDISK上に保存されるようになりました。

これ以降はなんとなく環境変数をデフォルトのままキープしたい人向け(やる意味は特にないと思います)

1.C:\WINDOWS\tempとC:\Documents and Settings\ユーザ名\Local Settings\tempを削除

2.ジャンクションを作成

junction.exe "C:\WINDOWS\temp" "R:\Temp"

junction.exe "C:\Documents and Settings\ユーザ名\Local Settings\temp" "R:\Temp"

リンク作成シェル拡張の場合はR:Tempをドラッグ&ドロップでそれぞれのフォルダへ置く。置いたジャンクションをTempにリネーム

3.最後に環境変数を元に戻す

またInterneExploreを開き、上部のメニューのツール > インターネットオプションから、インターネット一時ファイルの 設定(S)というボタンをクリック

フォルダの移動(M)でC:\Documents and Settings\ユーザ名\Local Settings\tempに保存先を変更してください。

デスクトップをRAMDISK上に(少し難しいです)

注意:デスクトップをRAMDISK上に設定すると、フォルダをゴミ箱に捨てることができなくなります。(Shift+Deleteやコマンドプロンプトからは削除できるようです。)

それでも問題ない方はどうぞ

簡単に概要を説明すると、最初に自分のユーザのデスクトップをadministratorで削除できるように権限を与えます。その後administratorでログオンし、自分のユーザのデスクトップを削除します。最後に自分のユーザでログオンしジャンクションを作成します。

少し難しいので簡単に設定できるようなものを用意しました。

↓のブリーフケースのbatフォルダ内のACLAddForAdmin.batをダウンロードして下さい。

sonaのYahooブリーフケース

http://briefcase.yahoo.co.jp/bc/sonatmpstr/

1.R:\Desktopフォルダを作成

2.ACLAddForAdmin.batを実行

2."C:\Documents and Settings\ユーザ名\デスクトップ"の中の必要なファイルをR:\Desktopに移動

3.ログオフしAdministratorでログオン

4."C:\Documents and Settings\ユーザ名\デスクトップ"を削除

5.ジャンクションを作成

junction.exe "C:\Documents and Settings\ユーザ名\デスクトップ" "R:\Desktop"

リンク作成シェル拡張の場合はR:Desktopをドラッグ&ドロップでC:\Documents and Settings\ユーザ名\へ置く。

置いたジャンクションを"デスクトップ"にリネーム

6.Administratorをログオフし普段使っているアカウントでログオン

7.完了 R:\Desktopの中身とデスクトップが同じかどうか確認して見て下さい。

Firefoxのキャッシュの保存先の変更

C:\Documents and Settings\ユーザ名\Application Data\Mozilla\Firefox\Profiles\乱数.defaultにuser.txtを作成しテキストエディタで↓のように記述(コピペでOK \は2つ必要なので注意!

// キャッシュの保存先を変更

user_pref("browser.cache.disk.parent_directory","R:\\Temp");

保存して閉じ、user.txtをuser.jsと変更 注意のメッセージが表示されるがOK

完了

fumifumi 2010/07/06 14:25 ジャンクションの作り方を検索して見つけたました。
こんな古い記事にコメントすることをお許しください。

インストールを行い、右クリック→ドラッグしたのですが、
シンボリックリンクのエラーとなってしまいます。

初心者なものでどうしたら良いか分からず困っています。できれば助けていただけますか?