こんにちは、阿久津です。改めて述べるまでもなくWindows 8は従来のスタートボタン/プログラムメニューを廃止し、Metro UIを用いた"スタート画面"に切り替わりました。スタート画面に並ぶタイルをクリックして起動するスタイルは賛否両論がありますものの、現在のWindows 7をお使いのユーザーのなかに、プログラムメニューを使われている方はどの程度おられるのでしょうか。
Windows 7から備わったタスクバーへのピン留め機能は、それまでのタスクバーを単なる状態表示領域から、ランチャーとしての役割を併せ持つようになり、プログラムメニューの存在意義は薄れていました。Windows XPユーザーもクイック起動にショートカットファイルを作成することで、プログラムメニューを使用しなくなったユーザーは少なくありません。
このようにプログラムメニューの存在意義は、Windows OSのバージョンを重ねることで薄れました。もっともスタートメニューに用意された検索ボックスから使用できるクイック検索は、プログラムメニューの内容を英語化(フォルダー内の「desktop.ini」を削除し、英語表記に変更するチューニングです)することで、クイック検索からの起動が簡単になるだけに、個人的なWindows 8の欠点として認識しています。
このようにWindows 8では、これまでWindows OSの中心に位置していたUI(ユーザーインターフェイス)を作り替えていますが、従来の使用スタイルに固執するユーザーは筆者だけではないでしょう。かれこれ筆者は10年近く「CraftLaunch」というコマンドライン型ランチャーを使っており、使用頻度の高いソフトウェアは同ランチャー経由で起動する環境を作っています。
現時点ではWindows 8 Release Previewでも問題なく動作していますが、今後のWindows OSでサポートされ続けるか保証されか否かは作者次第、と言わざるを得ません。そこで思いつくのが「ファイル名を指定して実行」のパス参照機能。通常は環境変数「PATH」を使用し、Windowsフォルダーや\Windows\System32フォルダーなどにある実行可能なファイルを直接起動することができます。
その一方で一部のアプリケーションは同機能を使用し、自身を「ファイル名を指定して実行」から起動できるように仕向けていることにお気づきでしょうか。同機能は、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Pathsキー下に実行ファイル名を持つキーを作成することで、直接実行ファイルを参照することが可能です。例えばMicrosoft Officeをインストールしている環境では「Winword」でMicrosoft Wordが起動できますので、同環境の方はお試しください。
ただ、App Pathsキー自体は目新しいものではなく、本連載でも以前紹介した記憶があります。そこで今回は「ファイル名を指定して実行」のランチャー機能を高めるために、App Pathキーの管理をバッチファイルから行うチューニングを紹介しましょう。
1.メモ帳を起動します。
2.下記にある囲み内容を入力して、バッチファイルを作成します。
3.管理者権限でコマンドプロンプトを起動します。
4.ステップ02で作成したバッチファイルを実行します。
これでチューニングが終了しました(図01~05)。
入力する内容
@echo off
setlocal
set BasePath=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths
set Cmd01Key=WMP.exe
set Cmd01Run=%ProgramFiles%\Windows Media Player\wmplayer.exe
set CMD01Path=%ProgramFiles%\Windows Media Player
set Cmd02Key=N.exe
set Cmd02Run=%windir%\notepad.exe
set CMD02Path=%windir%
set Cmd03Key=IE.exe
set Cmd03Run=%ProgramFiles%\Internet Explorer\iexplore.exe
set CMD03Path=%ProgramFiles%\Internet Explorer
if "%1"=="-d" goto DEL
:ADD
rem コマンドを追加
reg add "%BasePath%\%Cmd01Key%" /ve /d "%Cmd01Run%" /f
reg add "%BasePath%\%Cmd01Key%" /v Path /t REG_SZ /d "%Cmd01Path%" /f
reg add "%BasePath%\%Cmd02Key%" /ve /d "%Cmd02Run%" /f
reg add "%BasePath%\%Cmd02Key%" /v Path /t REG_SZ /d "%Cmd02Path%" /f
reg add "%BasePath%\%Cmd03Key%" /ve /d "%Cmd03Run%" /f
reg add "%BasePath%\%Cmd03Key%" /v Path /t REG_SZ /d "%Cmd03Path%" /f
goto END
:DEL
rem コマンドを削除
reg delete "%BasePath%\%Cmd01Key%" /va /f
reg delete "%BasePath%\%Cmd02Key%" /va /f
reg delete "%BasePath%\%Cmd03Key%" /va /f
goto END
:END
taskkill /f /im explorer.exe
start explorer.exe
endlocal
※入力が面倒な方は[こちら]をクリックしてテキストファイルをダウンロードしてください
それでは結果を確認してみましょう。「ファイル名を指定して実行」を起動し、「N」と入力して<OK>ボタンをクリックしてください。これでメモ帳が起動します。今回のチューニングポイントはバッチファイルに各コマンドを記述することで、管理を簡易化するという点(図06~07)。
バッチファイル内で定義した環境変数「Cmd01Key」「Cmd01Run」「CMD01Path」は、それぞれ実行コマンド名、実行ファイル名、実行時のパスとなります。そして、「ADD」ラベルで実行するregコマンドでエントリを登録するという仕組み。後は必要に応じて環境変数の数字部分を変更して追加していけば、「ファイル名を指定して実行」から起動可能なコマンドを増やすことができます。
また、エントリを削除する場合はバッチファイルに「-d」オプションを付けて実行してください。これでApp Pathsキーに作成したエントリが削除されます。なお、前述した環境変数の数を増やした場合は「DEL」ラベルにあるregコマンドもあわせて増やしてください(図08)。
それでは、また次号でお会いしましょう。
阿久津良和(Cactus)