複数のファイルをまとめるようなアーカイバとなると、(ファイルごとにストリームとなるので)複数のストリームに対応する必要がある。
よって、StreamRelay.NET.exe とは相性が悪い。
StreamRelay.NET.exe 内部にまとめてしまってよかったのか知れないけど、サポートプログラムとして独立させることにした。
ZipStreamNET.exe
StreamRelay.NET.exe と同じディレクトリに存在していると思う
ZipStreamNET.exe
でヘルプが出る
ZipStreamNET.exe list "zipfile"
で zip ファイル内部のエントリー(zipに格納されたファイル)の一覧が表示される
ZipStreamNET.exe read "zipfile" "file1" > "file2"
「zipfile」というzipファイル内部の「file1」というエントリー(ファイル名)の内容を読み出して、(シェルのリダイレクト機能で)「file2」というファイルとして保存する
例えば "file1" が「..\filename」のような通常の zip 展開ツールがエラーとなるような場合でも内容を確認できるよ。
(ZipStreamNET.exe はzipファイルに格納されたファイル名ではなくて、ただのエントリ名(文字列)として認識しているため)
type "file3" | ZipStreamNET.exe write "zipfile" "file4"
または
ZipStreamNET.exe write "zipfile" "file4" < "file"
とすると、ファイル「file3」の内容を「zipfile」というzipファイル内の「file4」というエントリで圧縮保存するよ。
ZipStreamNET.exeの「-e」オプション
「-e」オプションで、エントリ名(いわゆる圧縮されたファイル名)の文字コードを明示することも可能。
(WindowsではShitf_JISで、MacではUTF-8で、文字化けした。といった場面で役立つと思う)