| SizedURL |
今回どーも余談も含めて長くなりそうなので(笑)
各章ごとにジャンプできるようにしてみた(爆笑)
途中で読み飛ばしたくなったら,右端にあるリンクで次の章まで進んでちょーだいませ♪
* 直リンクはどうして駄目か。
* ファイルサイズが書いてないと困る訳。
* 本題
* ソフトの DL
ML やメルマガなどで,日々ソフトウェアの新着や,Update の情報が流れる。
フリーウェア大好き人間のでるにとっては,わくわくの一瞬(笑)
そゆ場合,直リンク,--- つまりファイルへの直接の URL が書いてあることが多い。
ところが Web Page のためのディスクスペースサービスを提供している側
(例えば ISP など)にとって,ファイルへの直リンクってのは,嫌われることが多い。
どうしてかというと,Web Page としてではなく,
ファイル置き場,として使われているようなもので,
Warez (違法コピー)の温床にもなりかねないから,というのが理由だと思う。
なので,ブラウザから直接ファイルへの URL を打ち込んだりすると,
落とせないところが結構多い。
何故直リンクで落とせないか,どうして直リンクだと判るのか。
その理由は,リンクをたどった場合,Referer: というものが付き,
それを調べると,どこからとんできたかが判るからだ。
つまり,でるのあるページからリンクが張られたファイルを落としに来た場合は,
でるの○○ページからとんできてますよ,というのが,サーバー側に伝わり,
それなら,ファイルを落としてもいいですよ,となるわけで,
これが直接ファイルを落としに来た場合は,でるの○○ページから来ました,
という情報が抜け落ちているので,君は直にファイルを落としに来ているね,駄目駄目,
ってな感じになるわけ(笑)
でも,そのあたり,ちゃーんと考えられたダウンロードツールってなものも,
世の中には出ていて,ブラウザに直リンクを入れても落とせないファイルも,
そういうダウンロードツールを使えば落とせちゃったりする。
何で?というのは,簡単で,ダウンロードツールの方で,Referer: を補完してくれてるから。
https://members.tripod.com/delfy_m/temp/tpver018a.lzh というファイルを落とすとする。
そゆときには,https://members.tripod.com/delfy_m/temp/index.html からとんできましたぁ,
ってな Referer: を作って送信してくれているのだ(あくまで一例だけど)。
サーバー側は,ああ,そうか,ちゃんと Web Page のリンクをたどってきてくれてるんだな,
それなら,ダウンロード OK よ〜ってなもんで,すんなりダウンロード出来てしまう,と(笑) ま,そんなこんなで,でるもたいていは,直リンクでファイルを直接落とすことの方が多い。
で,そんなときに,困るのが,これってどれくらいの大きさのものなんだろう,ってこと。
例えば,delfy_naisyo.txt ってファイル名だとする。
テキストファイルだ。
ってことは,普通で考えれば,10MB ,なんてことは無いだろう。
# あくまで,常識的に言えばってことだけど(笑)
だとしたら,ファイルサイズが書いてなくても,とりあえず落としてみようって思う。
じゃこれが,delfy_naisyo.avi ってファイル名だったとしたら?(笑)
でるふぃの内緒ムービー!ぅおーっっっ,--- と思うかどうかは別として(爆笑)
ムービーってことは,これ,相当大きそうじゃない?
確実に MB 級だろう,って何となく思う。
# これとて,もちろん小さいムービーだってあるだろうけれども。
そんなとき,ファイルサイズが書いてあれば,ダウンロードする前に,
これは大きいから会社で落とそう(←ぉぃ?(笑))とか,
これは小さいから家でも落とせる,なんてふうに思える。
ところが,ファイルサイズが無ければ,とにかく一度アクセスしてみないと判らない。
うーん,これはちょっと困るかもしれない。
次にファイルサイズが書いてないときの,もう一つの弊害は,
落としてきたファイルが解凍できなかったりしたとき。
ちゃんとダウンロード出来てないのか,それとも元から上がっているファイルがおかしいのか,
その判断が付きにくい,ということ。
例えばファイルサイズが正確に書いてあって,自分が落としてきたファイルがそれより
小さかったとしたら,たぶん,ダウンロードのときにミスってる,ってなことだろう。
逆に,ファイルサイズが全く同じなのに,なんかおかしいってときは,
元から上がってたファイルに問題があるのかもしれない,と何となく判る。
# もちろん,ファイルサイズが全く一緒=中身も全く一緒,とは一概にはいえないけど,
# まぁ,一般的に考えて,ということで。
ところが,ファイルサイズが元から書かれてなかった場合,自分のファイルは,
ちゃんと落とせたものなのかどうかの判断が付かない。
うーん,これもちょっと困るかもしれない。 でまぁ,でるは,自分のアプリを ML などに流すときは,必ずバイト数も書いて,
https://members.tripod.com/delfy_m/temp/tpver018a.lzh
(39,985 バイト)
ってな感じにしてるんだけど,さて,これを書くときに,実は面倒なのだな。
# さぁ,でるの口から「面倒」が出たぞ(笑)これからが本題だ(爆笑)
まず,ファイルのサイズを調べないといけない。
どうするか。
昔は右クリックのプロパティから「サイズ :」というのをみて,
横にエディタをたちあげておいて,書き写してた。
このプロパティのウインドウでは,コピー&ペーストが利かないんである(涙)
最近では,右クリックの「送る」をつかって,ファイルサイズをクリップボードに
コピーするアプリがあったので,それを使ってた。
# 「〜てた」と過去形であることに注目(笑)
次に,ファイル名をコピーしなければならない。
アイコンだけ見ていたら,ファイル名がちゃんと見えない場合があるので,
F2 で,名前の変更作業をやるのと同じ事をして,コピー。
んが,しかし,うちでは,拡張子名を出さないことにしているので,
コピーしたものを,またエディタに貼り付けておいて,拡張子を補完してやらないと駄目。
んが,これがまたやっかいなことに,拡張子って,.lzh と .LZH は違うんである。
もっといえば,.lZh とか(そんな人いないだろうけど(爆笑)),.LzH とか,
とにかく,拡張子の大文字小文字の区別というのは,Windows では,問題ないけれど,
サーバーにあげたときは,違ったものとして判断される。
つまり,delfy_naisyo.lzh と delfy_naisyo.LZH は,違うものなわけで,
誤って書いてしまうと,ファイルが見つからないよ〜んなんて,無情にも
404 Not Found が出たりする。
でるは,archiver を数種類使い分けているんだけど,
A という archiver は小文字の拡張子がつくけど,B という archiver は,大文字の拡張子がつく。
なので,拡張子に関しては,ちゃんと確かめないとならないわけ。
もう,面倒パワー炸裂(爆笑)
それから,おもむろに,自分のファイル置き場としているフォルダの指定。
うちだったら,
https://members.tripod.com/delfy_m/temp/
または,
http://members.tripod.co.jp/delfy_m/archive/
ですね。
ダウンロードしてもらうファイルをあちこちバラバラにアップする人も
あまりいないだろうから,たいてい自分がアーカイブをおくフォルダ(URL)は
決まってるんじゃないかな。
で,全部合体させて,
https://members.tripod.com/delfy_m/temp/tpver018a.lzh
(39,985 バイト)
ってな文章がようやく出来るわけなんである。
あーもう,何とかならないのかこれはっっ(笑)
何とかならないのかと思ったときは,オンラインソフトを探すに限る。
いろいろ探してみるも,例えばローカルにおけるファイルの絶対パス
(C:\Program Files\delfy\software\tpver018a.lzh ってなやつ)を取得するとか,
ファイルの名前を取得するとか,ファイルサイズを取得するとか,
そういう単体ものはあるんだけども,
そのファイルをアップしたときにサーバー側での URL がどうなるか,
サイズはどうなのか,を取得してくれるものって無いんである。
まただ(笑)<無い
無い,無い,無い,といえば,次に浮かぶ発想は,
1.自分で作る
2.お友達にお願いしちゃう
である(笑)
自分で作るとして,イメージを考える。
とりあえず,仮名として sendurl.exe としよう<ソフト名
# URL をクリップボードに送るから,sendurl.exe (爆笑)
# いいのだ,仮名なんだからっっ(笑)
その sendurl.exe のアイコンにファイルをドラッグ&ドロップ,ってのは,
これまた面倒なので,右クリックの「送る」からやりたい。
てことは,sendto フォルダにショートカットを入れて使うわけで。
だとしたら,そのショートカットに引数として,
頭につけたい URL を書けば OK って形式がいいなぁ。
C:\Program Files\delfy\freeware\sendurl.exe -https://members.tripod.com/delfy_m/temp/
こんな感じだね。
で,URL を取得したいファイルを右クリック→送る→ sendurl.exe ,
とやってやれば,クリップボードに
https://members.tripod.com/delfy_m/temp/*****.lzh
(***** バイト)
なんてのが入っちゃうと(笑)
ぉおおおお,便利だぞ,これは。
# 出来てもいないのに,気分は盛り上がっている でる(爆笑)
じゃ,ロジックを考える。
まず,ファイル名とファイルサイズの取得。
それから,あらかじめこれにくっつけたいっていう URL の取得,
合体させてクリップボードにコピー。
やって出来ないことはなさそうだ<HSP で
が,しかしだ。
さっき,自分で考えたイメージだと,「引数」という概念が出て来る。
ぅ(笑)
HSP でそれをやるのは,今のでるには,ちょち無理そうだ。
ああ,イメージは固まったのに,またもや,自分で作る手だてがない。
ちゅか,技量がない(涙)
はい(笑)
となればっっっ,お願いするしかありません(笑)
こういう文字列系を扱わせればピカ一な方と言えば?(笑)
そうっ,TeraPadの外部ツールでお馴染みの,前回「RegDiv」を作っていただいた「たてごと♪」さん。
またまたEmail を送ってしまいました(笑)
えっとね,アーカイブの URL みんなに教えるときに,
例えば↓こんな風に書くでしょう?
https://members.tripod.com/delfy_m/temp/autokaigyo.lzh
(110,083 バイト)
でね,これ,結構面倒だったりするの(笑)
プロパティでファイルサイズ確かめて,書き写して,
URL 書いて,ファイル名書いて,ってね。
それで,でるの場合だと,アーカイブはこの URL のところに
いつも入れておくって決まってるから<https://members.tripod.com/delfy_m/temp/
そゆの自動でクリップボードに入れてくれるソフトがほしいのだ。
いちお,作ってもらうソフトの名前を sendurl.exe とすると,
1.右クリックの送る,に登録できる。
つまり,sendto フォルダにショートカットを入れて使う。
2.そのショートカットの「リンク先」に,
C:\Program Files\tategoto\sendurl.exe -https://members.tripod.com/delfy_m/temp/
という形で,引数にアーカイブを格納している先の URL を書いておく。
# なので,ショートカットを URL ごとに作っておけば,使い分けが可能。
3.アーカイブ(例えば autokaigyo.lzh)を右クリックから,
送る→ sendulr を選ぶと,アーカイブのファイルサイズも取得してくれて,
引数である URL の後ろにファイル名(autokaigyo.lzh)を持ってきてくれて,
↓この形式で,クリップボードに格納される。
https://members.tripod.com/delfy_m/temp/autokaigyo.lzh
(110,083 バイト)
という,もの(笑)
-- ↑ここまで構想が固まっていて,自分で作れないのは,
引数をもってくる方法が判らないからなんだけど…<HSP で
うーん。言いたいこと伝わるかなぁ。
この文章で。
いろんなこと一段落してからでよいので,
おねがいしますです。
いぁまぁ,ほんと,相変わらず すごい Email ですね(笑)
快く引き受けてくださりまして感謝です。>たてごと♪さん
それで,出来上がってきた「SizedURL」。
ところが,最初のバージョンではハプニング発生(汗)
うちのマシンでうまくゆかないっす(涙)
彼は WindowsMe と Windows2000 で動作確認をしていて,OK とのこと。
なんでなんだろー。
旧マシンなら,いざしらず(すまん旧マシンよ,いつも悪者で(爆笑)),
新マシンで駄目ってのが痛い。
とっかえひっかえ引数を変えても駄目。
ぅー(涙)
たてごと♪さんも,一生懸命調べてくださって,その結果,
恐るべきこと発覚!
曰く,
> Windows 95 だと、SendTo フォルダ内のショートカットに設定した、引数、徹
> 底的に無視してくれることが判明した (涙)
がびーん。
引数が使えないってことは,「送る」に入れて使う,というのが,
駄目になってしまう。
レジストリを使わないと無理かも,てなことになる。
複数の URL を使い分けるならそれも仕方ないかなとは思えるけれど,
でも,よく考えてみると,そんなにファイルの置き場所を
ころころ変える人も居ないんじゃないかと思う。
だとすれば,INI ファイルから引数を取得にしたらどうだろう。
なんてゆってみる(笑)
2 箇所設定するなら,二つ分の実行ファイルと INI ファイルが必要になるけど,
そんなのたいしたことではない。
なんせ,実行ファイルが小さいからだ(笑)<SizedURL
ということで次のバージョンで,INIファイルで設定も可能となり,Windows95/98 でも OK となりました。
ああ,思い通りの動作だよ(涙)<SizedURL
でもって,でるがお願いした以上にいろいろと細かいところまで配慮されていて,
例えばファイルのサイズ表記を,バイト単位にするか,メガバイト単位にするかとか,いろいろ選べたり,
カッコは,全角を使うか半角を使うかとか,その他ほんと,自分が好きなように設定出来ちゃうんである♪
# 詳しくは Readme.txt や INI ファイルをみてねっ。
もちろん複数ファイルを選んでも OK なので,
まとめてファイルをアップするときもいいよね〜。
ああ,幸せいっぱい(喜)
んで。
お礼といっちゃなんですが,コマンドラインパラメータで設定する場合,
(WindowsMe/Windows2000 で使う場合のみ),
簡単にクリップボードにコマンドラインをセットできるアプリをつくっちゃいました(爆笑)
# これくらいの一発芸は,でるにでもできる(笑)
良かったらお使いくださいませ〜。→「Add_SizedURL」のダウンロード
さて,SizedURLの設定と使用法としての流れは,
Windows95/98 の場合,
1.INI ファイルを開けて,各種好きなように設定
2.C:\WINDOWS\SENDTO\ を開き,そこへ SizedURL.exe へのショートカットを放り込む。
3.取得したいファイル(複数可)を右クリックし,「送る」→ SizedURL 。
4.クリップボードに格納されるので,好きなところで Ctrl+V (ペースト)。
WindowsMe/Windows2000 の場合
1.C:\WINDOWS\SENDTO\ を開き,そこへ SizedURL.exe へのショートカットを放り込む。
2.SizedURL.exe へのショートカットを右クリックからプロパティを開き,
ショートカットのリンク先の部分に,Add_SizedURL を使うか,
自分でコマンドラインパラメータを入れるかして,引数を設定。
3.取得したいファイル(複数可)を右クリックし,「送る」→ SizedURL 。
4.クリップボードに格納されるので,好きなところで Ctrl+V (ペースト)。
まぁ,なんと簡単じゃありませんか(感涙)
ということでっっ。
ファイルをアップして,友達に URL を送るときや ML に投稿するとき,
どーぞ,SizedURL を使って,親切なお知らせにいたしませぅ♪
やみつきになります(笑)
「SizedURL」の作者(たてごと♪さん)の Web Page
http://harpy.org/Tategoto/
→ Enter → To Find My Way → One Step Each →★ SizedURL ★
「SizedURL」の特徴
以下のような形式の文字列を、クリップボードにコピーできます。
http://www.???.com/xxx/SU100.lzh (34,954 bytes)
http://www.???.com/xxx/SU100s.lzh (13,945 bytes)
通常、「SendTo」 フォルダにショートカットを作成し、エクスプローラ等のポップアップメニューの 「送る」 から使用します。
ファイルを選択して 「送る」 メニューを実行するだけで、上記のような文字列がクリップボードにコピーされます。
複数のファイルを同時に処理できます。その際、スペース文字で桁が調整され、ファイル名とバイト数の体裁が揃えられます。
ファイルではなくディレクトリを指定すると、その配下にあるファイルやサブディレクトリを一挙に処理できます。
ファイル名に含まれる半角英字を小文字に変換する事もできます。
バイト数の表示は、単位を KB 等に変更したり、カンマの挿入を抑止したりできます。
バイト数を囲う括弧は、半角と全角を選択できます。
ファイル名とバイト数の表示の間に改行を挟む事もできます。
【でるふぃ作おまけツール】
「Add_SizedURL」のダウンロード
https://members.tripod.com/delfy_m/temp/add_sizedurl.lzh
(66,771 バイト)
* 「SizedURL」のコマンドラインパラメータを簡単に設定できるツールです。
(「SizedURL」でコマンドラインパラメータが使えるのは,Windows Me/Windows2000で動作時のみです)
April 20, 2001