ソフトの説明
Drop on Scriptは、Perl, Python, Tcl/Tk, Rubyなどのスクリプト言語で作成したスクリプトファイルのアイコンに他のファイルをドラッグ&ドロップできるようにするためのシェル拡張プログラムです。

画面イメージでは、Tclスクリプトファイル(native2ascii.tcl)にJavaのプログラムソースをドラッグ&ドロップしているところです。通常のエクスプローラでは、tclファイルにドラッグ&ドロップしても何も反応しませんが、Drop on Scriptをインストールすると、このようにドラッグ&ドロップして引数(argv)に渡すことができるようになります。
pack [text .t -width 80 -height 20 \
-yscrollcommand {.sy set}] -side left -expand yes -fill both
pack [scrollbar .sy -orient vertical \
-command {.t yview}] -side right -expand yes -fill y
foreach filename $argv {
file rename -force -- $filename $filename.bak
.t insert end $filename...
update
set fi [open $filename.bak]
set fo [open $filename w]
while {[gets $fi line] >= 0} {
set oline ""
for {set i 0} {[set c [string index $line $i]] != ""} {incr i} {
if {$c < "\x80"} {
append oline $c
} {
append oline \\u[format %04x [scan $c %c]]
}
}
puts $fo $oline
}
close $fi
close $fo
.t insert end 終了\n
.t see end
}
tk_messageBox -message 終了しました。
exit

また、アイコンだけでなく、エクスプローラの「送る」メニューにスクリプトを登録して使うこともできます。画面イメージでは、native2ascii.tclの上でコンテキストメニューを表示し、「送る」メニューに登録されているPythonスクリプト(パス名をコピー)を実行しようとしているところです。Drop on Script無しでは「送る」メニューにスクリプトを登録しても選択したファイル名を渡すことができませんが、Drop on Scriptを有効にすると「送る」メニューにスクリプトを登録して使うことができるようになります。
# Shiftキーを押していたらファイル名だけをコピーします。
# Ctrlキーを押していたらネットワーク共有名に変換してコピーします。
# Shift, Ctrlを押していないときは、ファイルのフルパス名をそのままコピーします。
import sys, os, os.path, win32clipboard, win32wnet
win32clipboard.OpenClipboard( 0 )
win32clipboard.EmptyClipboard()
if 'DROP_WITH_SHIFT_KEY' in os.environ:
for i in range(1, len( sys.argv )):
sys.argv[i] = os.path.basename(sys.argv[i])
elif 'DROP_WITH_CONTROL_KEY' in os.environ:
for i in range(1, len(sys.argv)):
try:
sys.argv[i] = win32wnet.WNetGetUniversalName(sys.argv[i], 1)
except:
continue
win32clipboard.SetClipboardText("\n".join(sys.argv[1:]))
win32clipboard.CloseClipboard()
標準では、JScript(*.js)、VBScript(*.vbs)、Perl(*.pl)、Tcl/Tk(*.tcl)、Python(*.py)、Ruby(*.rb)の拡張子に対してDrop on Scriptを有効にすることができますが、その他のスクリプト言語についても、拡張子のリストに追加すればDrop on Scriptを有効にすることができます。
- UWSC:ドラッグ&ドロップ
- いりやっくさんによる、 UWSCでDrop on Scriptを使うための解説記事です。
Drop on Scriptは、Windows2000/XPの上で動作するフリーソフトウェアです。 免責事項など、ヘルプの記事をよく読んでご利用ください。