「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。 |
---|
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のコマンドを実行するというもの。
「HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run」キーに分かりやすい文字列値を作成し、データとして「subst x: C:\Users\kaz\Downloads」などドライブ文字とパス名を入力する |
Runキーは、Windows 10にサインインした後に実行される動作を格納する場所だ。ここからシステム権限でsubstコマンドを実行することで、エクスプローラーにもその結果が反映される。補足すると、もともとsubstコマンドはOS再起動後に設定を破棄するのだが、レジストリ(Runキー)に書き込んでおけば、起動時(Windows 10サインイン時)に自動実行されるので楽だ。
もう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を再起動すればよい。
阿久津良和(Cactus)