2001年11月11日

  解凍圧縮編

解凍圧縮編


«1»リネームでzip解凍・圧縮



xpiファイルが解凍出来なければ中身に手をつけることは出来ない
が、この解凍には特別なツールなど必要なく、zipファイルを解凍圧縮する環境さえあれば誰でも出来る程度の作業です

これが出来なければごく簡単な改造の度に他人から改造ファイルを貰わないといけないことになり
不便この上無いことになります
この方法を身につけておきましょう
と言ってもリネームするだけだから手順も何も無いですが




1)xpiは単なるzipファイルなので
拡張子(注1)をzipにリネームすると簡単に解凍することが出来る

2)解凍して中身を見ると中に入っているbbs2chreader.jarも上と同じ手順で
bbs2chreader.jar→bbs2chreader.zipにリネームすると解凍できる

3)中をいじった後に元に戻すのは、解凍した手順を逆にさかのぼるだけ
その際、余計なフォルダなどを勝手に入れないように気をつければ誰でも元に戻せます
元に戻す時は、すべてを選択して右クリックからzip圧縮に入れる






(注1)
拡張子が表示されていない時は
「ツール」→「フォルダオプション」→「表示」タブ→「登録されている拡張子は表示しない」のチェックを外す


«2»7-Zipで解凍・圧縮



コマンドラインに不慣れな人のための大助かり解凍圧縮ソフトの決定版
GUIでぐいぐい操作できる強力なファイルマネージャ機能を搭載したのが7-Zipです
ダウンロードは7-Zip
詳細な解説付きの日本語版ヘルプも後で役に立つ

インストールしてデスクトップにショートカットアイコンがある状態までやってみる
もうこれで使える状態になりました



今まで使っていた解凍ソフトもそのまま使いたい場合は7-Zipの関連付けを使わない方が逆に便利なようです
7-Zipと関連付けされていなくても、7-Zipのアイコン上にドラッグ&ドロップで解凍したいファイルを持ってくるだけで、そのあとの操作は圧縮されていないファイルを扱うのと同じ感覚で自由に処理できます
「ツール」→「オプション」→「システム」→「エディタ」の設定だけはしておいたらそれ以外はそのままでもとりあえず使う分には何の支障もないです
xpiの改造のためにはファイルマネージャ機能だけで充分です


«3»7-Zipのコマンドラインで解凍



まず、拡張xpiファイルの中を確認します
「7z l 表示したいアーカイブ名」だから
「7z l bbs2chreader-0.2.9-fx.xpi」




次に、xpiファイルを解凍します
「7z e 解凍したいアーカイブ名」だから
「7z e bbs2chreader-0.2.9-fx.xpi」




bbs2chreader.jarが出てきた
次に、そのbbs2chreader.jarを解凍します
その場所でそのまま解凍するときは
「7z e bbs2chreader.jar」
取り出し用の適当なフォルダoutを作ってそこに解凍する時は
「7z e 解凍したいアーカイブ名 -o解凍場所」だから
「7z e bbs2chreader.jar -oout」




解凍作業は終わりました
この解凍の仕方は、ちがうフォルダに入っていたものもすべて同一階層上に取り出すので元に復帰するには適していないが
とりあえずxpiをばらばらにして中を見たいという時は大変便利です
元ファイルのxpiはそのままあるので取り出したものは用が済めば消去でもすれば元と同じ状態に戻ります


«4»7-Zipのコマンドラインで解凍その2



今度は改造後に元に戻すのを前提にして、階層構造のまま解凍します
まずこの状態だとして




最初にxpiファイルを解凍します
「7z x 解凍したいアーカイブ名 -o解凍場所」だから
「7z x bbs2chreader-0.2.9-fx.xpi -oC:¥b2r¥*」




フォルダの中を見てみると
bbs2chreader.jarも取り出されている





次に、bbs2chreader.jarを解凍します
「7z x 解凍したいアーカイブ名 -o解凍場所」だから
「7z x bbs2chreader-0.2.9-fx¥chrome¥bbs2chreader.jar -oC:¥b2r¥*」




フォルダの中を見てみると




解凍は終わりました



«5»jarコマンドで解凍



パソコンにjavaのSDKなどがインストールしている場合はjarコマンドでも解凍できます

1)以下の例ではpathが通っているケースでやっているがpathが通っていなくても可能です
2)javaは入っているのになぜか出来ない、かつ
pathが通っていない、か、pathが通っているいないという意味がわからない場合は
jar.exeがあるところをカレントディレクトリ(作業場所)にし、ファイル指定を極力フルパスで書けば出来ます
3)それでも出来なければjavaが入っていなのでしょう

b2rの過去のバージョンも保存しているケースが多いと思うので
同じフォルダに複数違うバージョンがある状態(注1)



この状態でかつ、ここがカレントディレクトリ(作業場所)(注2)だと仮定して

まず「プログラム」→「アクセサリ」からコマンドプロンプトを立ち上げて
「jar tf 中を見たいjarファイル名」なので(注3)コマンドラインから
「jar tf bbs2chreader-0.2.9-fx.xpi」と入力して中を確認する
これでもいいが、これだと拡張の名前が長いときに入力しづらいので「*」で名前を省略する
どのjarファイルを指示したいのかを明確にするだけだから、他のxpiファイルとの名前の違う部分だけ書けばよい
この場合は「*fs.xpi」でOK(注4)

「jar tf *fs.xpi」と入力すると、同じ結果を得られる

中を確認したら次は解凍
「jar xf 中を取り出したいjarファイル名」なのでコマンドラインから
「jar xf *fs.xpi」で解凍する
一瞬で終わり




解凍されて中身が取り出されていた




出てきたchromeの中を「jar tf chrome¥*」で確認する
「jar tf chrome¥bbs2chreader.jar」としていないのは、上と同じで名前を省略しているため
今回はchromeの中にjarファイルが一つしかないのでファイルの名前を書く必要も無い「*」で代用可です




確認したら「jar xf chrome¥*」で解凍する





一瞬で作業終わり







(注1)
パソコン内のどこにあるかもわからないw場合は
「dir /s bbs*.xpi /b 」
(注2)
任意のフォルダをカレントディレクトリにしたコマンドプロンプトを立ち上げるための便利ツールは
Microsoftの「Open Command Window Here」
(注3)
jarコマンドの機能は
jar - Java ARchive ツール
(注4)
この場合は拡張子のxpiも必要じゃなく「*fs.*」でも可能です
どのファイルを選択したいのかをコンピュータに指示したいだけだから、「fs」が入っていれば
「bbs2chreader-0.2.9-fx.xpi」のことだとわかってもらえるからです
このやり方は、ワイルドカードを使って複数のファイルを一つの表現で表すやり方の応用だが
必ず一つのファイルを表すようにしないとjarコマンドに無視か拒否されます
たとえば「jar tf *.*」とかは一見正常に反応が返ってくるが、これは「該当するものからコンピュータのとっての1番目」を勝手に表しているだけでファイルの指定に成功しているわけではないです
[TAB]キーを使って「bbs2chreader-0.2.9-fx.xpi」などのフルネームを出す入力補完機能と似ているが
入力補完機能はあくまでフルネームを入力するための助けとなるもので、上のやり方は最初からフルネームの入力を迂回するやり方です
[TAB]キーを押して入力補完機能を使った方がフルネームが入るので後で読み返すにはこちらの方がわかりやすいかもしれません

«6»jarコマンドでファイルの入れ替え



必要な改造終えたら、次はこれをxpiに取り込みます

例として、httprequest.jsを改造したとします
相対パスで言えばcontent¥bbs2chreader¥httprequest.jsです
「jar uvf 取り込み先のjarファイル名 取り込みたいファイル名」なのでコマンドラインから
「jar uvf chrome¥bbs2chreader.jar content¥bbs2chreader¥httprequest.js」
長いので出来るだけ省略して
「jar uvf chrome¥*.jar content¥bbs2chreader¥*est.js」




bbs2chreader.jarに取り込み出来ました
次はこれをxpiに取り込みます
「jar uvf bbs2chreader-0.2.9-fx.xpi chrome¥bbs2chreader.jar」
これも出来るだけ省略して
「jar uvf *fx.xpi chrome¥*.jar」




すべて終わりました



導入編
FAQ一般編
FAQスキン編
基本改造編
userCSS編
810skin改造編
bookmarklet編
解凍圧縮編



bbs2chreader at 00:02