情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

Windowsで特定のフォルダを仮想ドライブとしてマウントする方法

Windows (492) コマンドプロンプト (3) レジストリ (1)

Windows上にある特定のフォルダ以下を、仮想ドライブとしてマウントして、ドライブとしてアクセスする方法を紹介します。

重要なフォルダを自分で好きに選んだドライブレター「X:」などでアクセスできるようになり、利便性の向上や、絶対パスによる設定の簡潔化などが期待されます。使い方次第。

Substコマンドを使う方法

一つ目はSubstコマンドを使う方法です。

使い方

たとえば、「C:\Users\did2\Downloads」フォルダを「X:」ドライブとしてマウントしたいときは、コマンドプロンプトで次のコマンドを実行すればOKです。

>subst X: "C:\Users\did2\Downloads"

成功すると、何も出力されません。引数なしでsubstを実行すると、次のように、現在マウント中の仮想ドライブの一覧が表示できます。

>subst
X:\: => C:\Users\did2\Downloads

既にsubstで利用中のドライブレターに割り当てようとすると「ドライブに対して既に SUBST が実行されています」と表示されます。

また、「subst X: /D」コマンドを実行することで、この仮想ドライブを削除することができます。

再起動対策

このsubstコマンドによって作成した仮想ドライブは、再起動するとリセットされてしまうので、substコマンドを実行する.batファイルをスタートアップフォルダ()に設置しておくことをおすすめします。

注意点

substコマンドで作成した仮想ドライブは、「仮想」であるおかげで、以下に挙げる一部のコマンドが正しく動きません。

chkdsk, diskcomp, diskcopy, format, label, recover

Microsoft Windows XP - Subst

特に「label」コマンドが使えないために、.batファイルでドライブ名を設定できないのが難点です。これは、次に紹介するレジストリを使う方法でも同様です。ちなみに、それでもlabelを使おうとすると、「十分な特権がないので、アクセスは拒否されました。管理者特権モードで実行しているこのユーティリティを呼び出す必要があります」と表示されますが、管理者権限で起動したコマンドプロンプトから実行しても同じことになります。

問題点

スタートアップに登録したとしても、スタートアップが実行されるより前にはドライブが存在しないわけで、それ以前にそのドライブを利用するような仕組みにしようとすると、うまくいきません。これを解決する方法が、レジストリを使って仮想ドライブを作る方法です。

レジストリを使う方法

二つ目として、レジストリを使う方法を紹介します。

先ほどと同様に、「X:」ドライブに「C:\Users\did2\Downloads」を割り当てたいとします。その場合は、regeditを起動して、「HKEY_LOCAL_MACHINE>SYSTEM>CurrentControlSet>Control>Session Manaager>DOS Devices」を開いて、「編集>新規>文字列値」で新しい項目を次のように追加すればOKです。

名前:「X:
データ:「\??\C:\Users\did2\Downloads

subst - Wikipedia, the free encyclopedia

「??」はそのまま入力します。文字化けとか、穴埋めじゃありません。ちょっと設定が面倒ですが、一度設定してしまえば、substより安心して利用できます。

参考までに、.regファイルを掲載しておきます。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]
"X:"="\\??\\C:\\Users\\did2\\Downloads"

削除したい場合は、レジストリを削除して再起動してください。

まとめ

今回は、Windowsで特定のフォルダを仮想ドライブとしてマウントする方法として「substコマンド」を使う方法と、「レジストリ」を編集する方法を紹介しました。

全く意味のないことですが、こんなものも作れるわけです。

こんな.batファイルを実行するだけです。

subst A: C:\
subst B: C:\
subst C: C:\
subst D: C:\
subst E: C:\
subst F: C:\
subst G: C:\
subst H: C:\
subst I: C:\
subst J: C:\
subst K: C:\
subst L: C:\
subst M: C:\
subst N: C:\
subst O: C:\
subst P: C:\
subst Q: C:\
subst R: C:\
subst S: C:\
subst T: C:\
subst U: C:\
subst V: C:\
subst W: C:\
subst X: C:\
subst Y: C:\
subst Z: C:\

良い使い方を考えて、是非活用してみてください。

コメント(0)

新しいコメントを投稿