写真提供:マイナビニュース

写真拡大

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

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

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

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

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

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

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

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

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

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

阿久津良和(Cactus)

(阿久津良和)