treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

ランチャー好きに捧ぐプログラム起動のための環境設定

コマンドランチャーが好きだ、という方は少なくてもある一定数存在しています。(私の体感では企業で数パーセントの割合ですが)
大抵はフリーソフトで解決していると思いますが出自耳目の定かではないソフトウェアが制限される企業にお勤めのランチャー愛好家の貴方へ、Windows環境変数でランチャー的な操作感を用意する方法をご報告します。

まず起動したいプログラムはショートカットを作成し、そのショートカットを一つのフォルダにまとめておきます。
PCユーザ共通で利用するようであれば「C:\Users\Public」に、ログオンユーザ個別(1ユーザ専用)で利用するようであれば「%USERPROFILE%(C:\Users\%ユーザ名%)」に、フォルダを作成します。
mkdir C:\Users\Public\Lunch

mkdir %USERPROFILE%\Lunch
で作成です。
この作成したLunchフォルダにショートカットをどしどし入れます。
例えばputtyjpのショートカット「putty.lnk」とかVLCプレイヤー「vlc.lnk」とかをいれるわけです。自分で作成したバッチファイルをショートカットにしてもいいです。たとえばPC1のWakeOnLANを実行するコマンドラインを記述したバッチファイルのショートカットである「WoL-PC1.lnk」という具合です。
フォルダ内がこのように格納されるのです。

C:\Users\Public\Lunch
                ├─putty.lnk
                ├─vlc.lnk
                └─WoL-PC1.lnk

このままショートカットをコマンドプロンプトのようなCUI環境から実行させるためには、フルパスで拡張子.lnk付のフルネームを実行対象としてしていしなければプログラムは実行されません。(例:コマンドライン「C:\Users\Public\Lunch\putty.lnk」と入力してEnterで実行される。)

これだけではランチャーとしてはそれほど利便性を感じない状態です。
便利にするために設定を入力します。
コマンド「sysdm.cpl」を実行します。(もしくはコントロールパネルから「システム」を選択⇒「システムの詳細設定」と選択します。)
これでシステムのプロパティ画面を開き「詳細設定」タブを選択します。
画面下部環境変数ボタンをクリックします。
環境変数ウィンドウで条件に合わせて以下の操作をします。

PCユーザ共通で利用する「C:\Users\Public」の場合には、システム環境変数(画面下部)を利用します。変数の中から「Path」の記載を探し「編集ボタンをクリックします。
変数値欄に「C:\Users\Public\Lunch」を追記するのですが、前のエントリとの区切り文字";"を必ず入力してからパスを入力してください。つまり…
「C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32」となっていたら、追記後は「C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;C:\Users\Public\Lunch」と、こうなります。

ログオンユーザ個別(1ユーザ専用)で利用する「%USERPROFILE%(C:\Users\%ユーザ名%)」の場合には、ユーザ環境変数(画面上部)を利用します。
「新規」ボタンをクリックし、変数名欄に「Path」と入力します。
変数値の欄に「C:\Users\%ユーザ名%\Lunch」と入力してOKボタンをクリックして反映させます。もし既存のパスがあるようであれば、上記の解説同様に「C:\Program Files\Intel\WiFi\bin\;C:\Users\user1\Lunch」という具合に既存のエントリに";"を区切り文字として入力し、続けてパス文字列を入力します。

環境変数Pathの設定が完了したところで、PCを再起動します。
(※システム環境変数の場合PCの再起動が必要ですが、ユーザ環境変数はログアウトしてから再ログオン実行するだけで反映される、ということになっています。でも念のため再起動しておきましょう。)

PC再起動後、Lunchフォルダに格納したファイルはどこからでも参照可能な状態になっています。(これをパスを切るといいます。)
パスを切ったファイルは「Windowsキー」+「R」で起動する「ファイル名を指定して実行」の名前欄(コマンド入力欄)からでもパス指定不要でアクセス可能になります。
パスを切る前までは「C:\Users\Public\Lunch\putty.lnk」と入力しなければ起動しなかったputtyが「ファイル名を指定して実行」の名前欄(コマンド入力欄)に「putty」と入力してEnterキーを押下するだけで「putty.lnk」を実行したことと同じことになりますので、当然Puttyが起動してくるようになります。
同じように、PC1のWakeOnLANを実行するコマンドラインを記述したバッチファイルのショートカットである「WoL-PC1.lnk」が置いてあれば、「ファイル名を指定して実行」の名前欄(コマンド入力欄)に「WoL-PC1」と入力しEnterキーを押下するだけでPC1にWoLマジックパケットが送信され電源が入るようになる、という動作を見せてくれます。

この方法の利点は新しくランチャっぽいコマンドラインで実行したいプログラムがどこにあっても、自分が作成したLunchフォルダにショートカットを配置するだけで「ファイル名を指定して実行」をコマンドランチャーとして利用できる点が大きな利点です。つまりすべてWindowsの標準機能で実現するランチャーなのでPCのカスタマイズに制限がある企業PCであってもこの方法でソフトウェアやバッチファイルの起動が可能になるのです。

その昔はMS-DOS時代、autoexec.batとconfig.sysにPC環境のこういった設定をいれるのですがパス切らないと不便だし、どこかしことパス切り過ぎていたらダサいとか言われていました。懐かしいなぁ。
時を経て、今はあのころから想像もつかない進化を見せたPCですが、こういった古き良き遺産を活用してちょっと便利に使うのも一興です。