« Vistaではショートカットへのドロップが使えない! | トップページ | Windows XPでも「パスとしてコピー」(その2) »

2008年12月10日 (水)

Windows XPでも「パスとしてコピー」

Windows Vistaには「パスとしてコピー」がありますが、Windows 2000やWindows XPにはありません。

そこで、以下のショートカットを作成して、「リンク」フォルダに入れます。

パスとしてコピー.lnk

mshta.exe "javascript:var i=new ActiveXObject('Shell.Application').Windows().Item().Document.SelectedItems();var a=new Array();for(var k=0;k<i.Count;k++){a[k]='"'+i.Item(k).Path+'"';}clipboardData.setData('text',a.join('\r\n'));close();"

フォルダでファイルなどを選択した後に、「リンク」から「パスとしてコピー」を実行します。

SendToフォルダにスクリプトなどを入れて「送る」場合は、引数の最大長の制限で、多数のファイルは送れません
しかし、ここでのやり方は、引数を使わないので、無制限に多数のファイルのパスをコピーできます。

※new ActiveXObject('Shell.Application').Windows().Item()の非互換でVista以降では使えません。

« Vistaではショートカットへのドロップが使えない! | トップページ | Windows XPでも「パスとしてコピー」(その2) »