Windowsの「ショートカット」は相対パスを記述出来なくて

Unixではなんてことのない「リンク先として相対パスを指定する」が Windows で出来ないことなんか、きっと今更なことで。

もう5年以上前だったと思うんだけど、どうしてもこれ:

をなんとかしたくて、ちょっとしたアイディアをチームで使ってたことがあって。ちょいと紹介してみたい。

そもそもなんでショートカットに相対パスを書きたいかと言えば。大きな組織、大きな開発になればなるほど、「サブチームごとには階層が維持し続けられても、マイルストーンのたびに比較的フォルダ構成の大改編に振り回されがち」だから。階層一つ二つ深いところに移動させられるなんか日常茶飯事。

きっとこんなじゃない? あなたの所属する「大企業」では:

トップレベルがサブプロジェクトで切られている場合も多いとは思うけれど、構成が深くて迷子になりやすいのは、たいがい一緒と思う。だから普通でも Windows ネイティブのショートカットは多用されてるでしょう? で、根っこの構成変更のとき、ショートカットをチマチマ直す? 諦めて保守やめることも多いよねぇ。

で、5年くらい前、の話。「皆が Python インストールしてる前提なら、ダブルクリックで起動するのだから…」と発想した:

ツリーから手繰るのが好きな人には向かないと思うし、見ての通り「黒いよー」ので、いやな人はいやだろうけど、これね、お手軽なんです:

プログラム設計へのショートカット.py
 1 # -*- coding: utf-8 -*-
 2 # Python 2.7 、かつ、日本語版 Windows 用。
 3 
 4 # 以下を好きに…
 5 target = u"../../03_プログラム設計らしき/02_含蓄生成更新処理"
 6 
 7 import os
 8 import sys
 9 from subprocess import Popen
10 Popen(["explorer", os.path.abspath(target.encode("cp932"))])

「target」部分を書き換えれば良い、ってわけね。本物のショートカットよりは少しだけ簡単ではないかもしれないけど、それでもお手軽でしょ。

それにしてもまぁ…Windows 9x 時代にやってしまった「若気の至り(やっちまったなぁ仕様)」に今でも苦しめられるんだもんなぁ。