豚吐露@wiki

特定のディレクトリをドライブ化する

最終更新:

ohden

- view
管理者のみ編集可

特定のディレクトリを任意の仮想ドライブとする。


substコマンドを使う方法とレジストリを使う方法と2種類あるらしい。

注意したいのは、substの方法では実行したユーザでしか使えないってこと。
つまり、管理者権限で実行したアプリケーションから、substで作成したドライブへのアクセスはできないんです。
正確に言うと、Admin昇格後にsubstコマンドを実行した後、アプリケーションからアクセスしなければならない。

最初っから誰からでもアクセスできるドライブにしたかったらレジストリを使った方法を利用した方が良い。

substを使う方法
subst 【ドライブ名】: 【ディレクトリパス】

e.g.)
c:
cd \
mkdir ddrive
subst d: c:\ddrive
カレントドライブをCに変更
root dirへ移動
drive dirを作成
仮想ドライブの作成
※2回目以降は仮想ドライブの作成だけでOK

作成した仮想ドライブの削除は、ドライブを指定し『/d』オプションを指定して実行。
subst d: /d 仮想ドライブの削除。上で作成したDドライブを削除する。

ただし、作成対象のドライブ名が既に使われてると、
無効なパラメータです - D:
とか表示されます。(ノ∀`)

ど~してもそのdrive名を使いたかったら『マイコンピュータ』を右クリックして『管理』を押下。
下の方にある『ディスクの管理』ってトコclickして、右に出てきたdisk一覧からdrive名を変更したいdiskを右クリックして、『ドライブ文字とパスの変更』ってトコからdrive名を変える事ができます。(*´ω`)b
この方法でdrive名空けてからコマンドを再実行したってください。

あと、この方法で作った仮想ドライブへは全ユーザ対象としてapplicationをinstallすることはできないっぽぃ。

レジストリを使う方法
上記のsubstと同様の効果をレジストリを使って実現する。
レジストリを使う方法なら、権限によるアクセスできない問題も回避可能。

subst d: c:\ddrive
と同様の効果を得るには、レジストリエディタを起動して...
> regedit
『HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices』を見つける。
上記のキーを右クリックして[新規]-[文字列値]を選択。

名前に『【ドライブ名】:』と入力。
入力後、その値をダブルクリック。文字列の編集ダイアログが開くので『値のデータ』に『\??\【ディレクトリパス】』を設定する。

unmountしたい場合は、上記で追加した文字列値を削除するだけ。

で、レジストリを使う方法では、実際にmountさせたりunmountさせたりを動的にできない。
起動時に読み込まれて勝手に追加されるので、レジストリキーを修正後、OS再起動が必要になる。


追記 2016-05-17

VMとかの仮想光学driveと重複するように設定すると、見た目は光学drive、中身は仮想ドライブで指定したフォルダという謎な状況になる。コナン君みたいじゃね。
そんときは、一旦registryに設定したドライブ文字を変更して、光学driveの文字を変更後、再度registryの設定をすれば良い。



更新日: 2022年09月16日 (金) 10時41分58秒
添付ファイル
記事メニュー
目安箱バナー