「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。

Windows 8.1から使えなくなっていた?

筆者はWindows 10を普段から使っていて、「『Win』+『E』キーを押してエクスプローラーを起動し、ダウンロードフォルダーをダブルクリックして開く」といった操作を行うことが多い。だが、使用頻度が高いフォルダーであれば、あらかじめドライブ文字を割り当てておけば、「ファイル名を指定して実行」などからワンステップで開くことができる。「『subst』コマンドを使えばいい」と、ピンときた読者諸氏もいるだろう。

ところがWindows 7時代と異なり、Windows 10ではこの方法が使えないのである。下図はWindows 10 バージョン1607でsubstコマンドを実行したところだが、コマンドプロンプト上では有効ながらも、エクスプローラーを起動すると変化を確認できない。それどころか参照時はエラーが発生してしまう。

管理者権限を持つコマンドプロンプト上でsubstコマンドを実行し、ダウンロードフォルダーをXドライブに割り当てた状態。dirコマンドで確認する限り、問題がないように見えるが……

エクスプローラーを起動しても「デバイスとドライブ」セクションに変化は生じない。アドレスバーから直接参照してもエラーになってしまう

あくまでも筆者の推測だが、エクスプローラーとコマンドプロンプトが異なるユーザー権限で実行されるため、このような結果になるのだろう。正直なところ久しぶりにsubstコマンドに触れているため、いつからこの仕様に変更されたのか不明だった。そこで確認したところ、Windows 7 SP(Service Pack)1はOK。Windows 8.1はNGという結果に。つまり、Windows 10でsubstコマンドを使っても、エクスプローラー上の操作に影響を与えることはできない。

Windows 8.1で同様の操作を行った状態。結果はWindows 10と同じくエラーとなった

Windows 7 SP1でも試してみたが、こちらは古いWindowsと同じくエクスプローラーにドライブが現れた

レジストリなら回避できる

「Windows 10でフォルダーにドライブ文字を割り当てる」……は、レジストリ操作によって解決できる。本連載は手軽なカスタマイズと小ネタを主なテーマにしているため、Windowsのレジストリは扱わないようにしてきたが、他に解決方法が見当たらないため今回ご紹介する。なお、レジストリエディターなどの操作方法は別の連載記事を参考にしてほしい。

筆者が知る限りでは、2つのアプローチがある。1つめは「HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run」キーに、任意の文字列値を作成してsubstのコマンドを実行するというもの。

「HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run」キーに分かりやすい文字列値を作成し、データとして「subst x: C:\Users\kaz\Downloads」などドライブ文字とパス名を入力する

Runキーは、Windows 10にサインインした後に実行される動作を格納する場所だ。ここからシステム権限でsubstコマンドを実行することで、エクスプローラーにもその結果が反映される。補足すると、もともとsubstコマンドはOS再起動後に設定を破棄するのだが、レジストリ(Runキー)に書き込んでおけば、起動時(Windows 10サインイン時)に自動実行されるので楽だ。

PCを再起動すると、若干の遅延を経てドライブ(中身はダウンロードフォルダー)がエクスプローラー上で表示される

もう1つの方法は、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices」キーにパスを書き込むというもの。ドライブ文字を文字列値とし、データはボリューム表記となるため、ダウンロードフォルダーの場合は「\??\C:\Users\kaz\Downloads」となる。

「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices」キーに文字列値を作成し、名前はドライブ文字に変更する。こちらの場合はパス表記が少々特殊なので注意してほしい

これをサインインするユーザー名に置き換えて設定すると、前述したRunキーとは別のロジックでドライブ文字割り当てが有効になる。追加ドライブを削除する場合は、作成した文字列を削除してPCを再起動すればよい。

PCを再起動すると、すぐさま割り当てたドライブ文字がエクスプローラーに並ぶ

阿久津良和(Cactus)