Windows XPでショートカットを作成すると、これは必ず絶対パスによる指定となる。
これを相対パスで指定してみようというのが今回の趣旨だ。
パスとは要するにパソコン上の住所。
現実世界に置き換えると、たとえば自宅の隣の家を「○県×市△丁目」という住所で示そうというのが絶対パスによる指定。
ただ単に、「ウチから見て一軒となり」と表現するのが相対パスによる指定となる。
相対指定の良いところは、町村合併などでその町の名前が変わろうと、「ウチから見て一軒となり」という表現でご近所をあいかわらず指定できる点にある。
逆に絶対指定だと、町の名前変更を反映させ正確な住所を一からすべて書き立てなければならない。
結論からいうと、相対パスのショートカット作成は可能である。
そのためには、以下のような指定の仕方をすれば良い。
(長いので2行に分かれて見えるかもしれないが、入力する際は1行に繋った文字列となる)
%windir%\system32\RunDLL32.exe Shell32.dll,ShellExec_RunDLL "相対パス"
伝わる人にはこれで伝わるだろうが、メモついでに詳しいやり方を次項に記しておく。
まず、デスクトップや開いたフォルダのなど、アイコンの上などをのぞいた何もない部分を右クリックする。
そして「新規作成」から「ショートカット」を選択しよう。
するとショートカットの作成画面が開かれるはずだ。
ここで、「項目の場所を入力してください(T)」の空欄に以下の文字列を入力する。
手打ちは面倒なので、コピー&ペースト(貼り付け)を利用しよう。
%windir%\system32\RunDLL32.exe Shell32.dll,ShellExec_RunDLL "相対パス"
赤い相対パスの部分は、指定するファイルがどこにあるかで変わる。
同じフォルダにあるA.exeを指定するなら、ただ"A.exe"とすれば良い。
A.exeがBというフォルダの中にあるなら、"B\A.exe"となるだろう。
場所の入力が終わったら、「次へ」をクリックしてこのショートカットに名前をつける。「A.exeへの相対ショートカット」など、好きな名前で良い。
完了をクリックすれば、文字通り作業は完了だ。
早速、できたショートカットを開いて、指定したファイルが開くか試してみよう。
うまくいかない場合、原因は2つ考えられる。
ひとつは、項目の場所指定を誤っている可能性。
もうひとつは、「作業フォルダ」が空欄になっていない場合。
後者については、出来上がったショートカットを右クリックし、「プロパティ」を選択して確認して欲しい。
開かれたプロパティの中ほどに「作業フォルダ(S)」という項目があるはず。ここが空欄になっていなければ、余計な文字列は削除してしまう。
そうしてOKをクリックし、ふたたびショートカットの挙動をチェックしてみてよう。
今度はうまくいくはずだ。
なお、これはウィンドウズXPでしか使えないテクニックなので注意されたい。