エクスプローラから選択中のファイルのフルパスを取得する

フルパスを簡単にコピペするよい方法ないかなぁと考えていたのだけど、SendToで渡せば引数で渡してくれることがわかったので、クリップボードにコピーするだけのスクリプトへのショートカットをSendToフォルダに忍ばせてみた。

1.win32-clipboardが入ってなければgemからインストールする。

# gem install win32-clipboard --remote

2.以下のスクリプトをclippath.rbとか適当な名前で保存する。

#!ruby -Ks
require 'rubygems'
require 'win32/clipboard'
Win32::Clipboard.set_data(ARGV.join("\n"))

3.rubyw.exeのショートカットを作成して、プロパティで引数に上のスクリプトを指定する。
4.できたショートカットをSendToフォルダに置けば完成。
WinXP: C:\Document and Setting\(User)\SendTo\
Vista: C:\Users\(User)\AppData\Roaming\Microsoft\Windows\SendTo\

使い方は単純にフルパスを取得したいファイルを右クリックの送るで作成したショートカットに送ればクリップボードにコピーされる。ミソはARGV.join("\n")にしてるので複数ファイルまとめて選択していても、まとめてフルパスがクリップボードにコピーできるという素敵仕様。