タスクバーで目的のショートカットを選ぶまでの時間を短縮
あらかじめ、適当なフォルダにショートカットを集めておきます。 この時に日本語名のショートカットは適当なアルファベットの名前にしておくといいでしょう。
次に下のスクリプトを実行します。 Pythonをインストールしていない人はインストールしてください。 またinDirとoutDirの所を自分の環境に合わせて書き換えます。 inDirがショートカットを集めたフォルダ、 outDirがショートカットをツリー状に出力するフォルダです。
実行すると、上の図のようにショートカットが編成されます。 inDirの中身はそのまま残るので、 更新したいときはinDirにショートカットを入れてスクリプトを実行するだけ。 inDirへのショートカットと、スクリプトへのショートカットを、 inDirに入れておくといいでしょう。
outDirが「,」(カンマ)というファイル名なのには理由があります。 筆者のマシンはThinkpadなのでWindowsキーがありません。 しかし右AltをWindowsキーに変えることができます。 カンマは右Altの左上にあるので、ホームポジションJに人差し指をおいたまま 少し右手を回転させると薬指がWinキー、中指がカンマになります。
# -*- coding: cp932 -*-
"""
shortcutTree.py ショートカットをツリー状に編成する
"""
#
# setting
inDir = r"C:\Home\shortcut"
outDir = r"C:\Documents and Settings\All Users\スタート メニュー\,"
# end setting
#
import os, shutil
join = os.path.join
if os.path.isdir(outDir):
# すでに存在したら消す
shutil.rmtree(outDir)
os.mkdir(outDir)
def makeTree(nameList):
result = {}
for (name, origName) in nameList:
c = name[0].lower()
cdr = name[1:]
if result.has_key(c):
result[c].append((cdr, origName))
else:
result[c] = [(cdr, origName)]
return result
def arrange(nameList, outDir):
tree = makeTree(nameList)
for c in tree:
if len(tree[c]) == 1:
(name, origName) = tree[c][0]
name = c + name
shutil.copy(
join(inDir, origName),
join(outDir, name))
else:
os.mkdir(join(outDir, c))
arrange(tree[c], join(outDir, c))
arrange([(f, f) for f in os.listdir(inDir)], outDir)
print "ok."