• ミラクルボイス

現在のWindows 11 Ver.23H2では、ファイルアーカイブ形式としてtar(ター)がサポートされている。tarはTape ARchiveの略で、もともとはUnix/Linux系で複数のファイルをまとめて磁気テープ装置に記録するためのコマンドだった。ただし、複数ファイルを1つのファイルにまとめることができ、今で言うアーカイバーとしても利用できた。

Unixには、初期の頃からar(ARchiveの略)というコマンドがあった。arは、当初、プログラムにリンクするバイナリファイルを1つのライブラリファイルにまとめるために作られた。一般に複数のファイルを1つのファイルにまとめるソフトウェアを「アーカイバー」(Archiver)と呼ぶ。arは、1971年のUnix V1のmanページに記載がある。1971年は、Intelの最初のマイクロプロセッサ4004が作られた年である。

これに対してtarコマンドがmanページに記載されるのは1979年のUnix V7から。これは、PC-8001が発売された頃。まだ8 bitマシンが主流だった頃である。

tarコマンドは、POSIXやBSD、GNUなどで開発されたときに互換性が考慮されたが、特定のシステムで使うことが前提のarについてはプラットフォームごとに固有の実装が使われた。tarが現在でも生き残り、最近Windowsの標準ファイル形式の1つになったのも複数プラットフォーム間で動作し、まだLinuxなど使われているからである。

しかし、MS-DOSが全盛の1985年、arを元にarcと呼ばれたコマンドが作られた。arcは、それまで別プログラムだったアーカイバーと圧縮プログラムを組み合わせたもので、当時のモデムを使ったBBSアクセス(パソコン通信。インターネットはまだ民間に開放されていなかった)で広く使われることになる。作者は、Thom Hendersonでその個人会社がSystem Enhancement Associates(SEA)社である。その後登場したのがarcよりも高速なpkarcだ。開発者はPhil Katz(同PKWARE社)。しかし、SEA社はソースコードが盗用されたとしてPKWARE社に対して裁判を起こす。この裁判に敗訴したPhil Katzが次に開発したのがPKZIPだ。arを起点にさまざまなアーカイバーが作られた。arは現在のアーカイバーの先祖と言っていいだろう。

これに対して、tarコマンドは、テープなどの磁気媒体を使ったプラットフォーム間の転送に使われるため、POSIXで標準化され、BSD系Unix、GNUなどで開発が行われ、オープンソース・ソフトウェアとして広く流通することになる。MS-DOSで発展してきたPKARCやPKZIPはバイナリ配布であり、「オンラインソフト」として流通することになる。

tarは、WSLのバックアップコマンドで内部的に使われたことから、Windows 10でBSD系Unixで使われていたtar(bsdtar)がコマンドとして同梱される。しかし、Windowsでは長らく、ZIPのみがエクスプローラーの標準圧縮アーカイブ形式として使われていた。

Windows 11 Ver.23H2では、エクスプローラーが複数の圧縮/アーカイブ形式に対応している(表01)。サポートされている拡張子は、コマンドラインから調べないとわからない。これには、MS-DOS時代からあるcmd.exeの内部コマンドassocを使うしかない(レジストリから同様の情報を抽出することは可能ではある)。このコマンドでファイル形式が「ArchiveFolder」になっているものを探す。ただ、RAR形式は、R00からR99までの100個の拡張子を使うため、これを省いたほうが見やすいだろう。PowerShellからなら


cmd /c assoc | sls '(?<!\.r\d\d)=ArchiveFolder'

とすればよい(写真01)。また、リスト01に各ファイル形式の情報源となるリンクを示す。なお、エクスプローラーで見ると、ファイル形式がArchiveFolderやCompressedFolder(ZIPのファイル形式)になっているものは、線ファスナー(英語ではZIP、ZIPPERなどとも)のついたフォルダアイコンになる。

  • ■表01

  • 写真01: 拡張子の関連付けを出力するcmd.exeの内部コマンドassocを使い、「ArchiveFolder」を探すとエクスプローラーがサポートするアーカイバー形式の拡張子を見つけることができる。PowerShellからは「cmd.exe /c assoc」として起動する(写真上部)。cmd.exeからは直接起動できる(写真下部)

・リスト01
BZIP2 https://www.sourceware.org/bzip2/
GZIP  https://datatracker.ietf.org/doc/html/rfc1952
XZ   https://xz.tukaani.org/format/
Zst  https://datatracker.ietf.org/doc/html/rfc8878
TAR  https://ja.wikipedia.org/wiki/Tar
7Z   https://7-zip.opensource.jp/
RAR  https://ja.wikipedia.org/wiki/RAR
ZIP  https://datatracker.ietf.org/doc/html/rfc1950

Windows 11 Ver.23H2では、これらのファイル形式は開くことはできるが、エクスプローラーから直接作成できるのはZIP形式のみである。しかし、Windows Insider Programのプレビュー版Devチャンネル、Canaryチャンネルで配布中のビルド26052では、GUIからさまざまな形式のアーカイブ/圧縮形式のファイルを作成できる(写真02)。

  • 写真02: Dev/Canaryチャンネルのプレビュー版Windowsでは、エクスプローラーのファイル領域でファイルを選択して右クリックメニューから「圧縮先 ⇒ 追加オプション」を選ぶ(写真左)と、さまざまなアーカイバー形式のファイルを作成することが可能になっている(写真右)

Windows 11の圧縮機能の追加だが、どちらかというとLinux系のフォーマット重視で、開発者向けと言えなくもない。Win32環境とWSL2環境でファイル共有を行う9Pは、オーバーヘッドが大きく転送速度が速くない。大量のファイルを転送するとき、これをアーカイブ、圧縮して転送することで転送時間を短縮可能だ。

今回のタイトルネタは、1959年のテレビドラマ「少年ジェット」である。「ミラクルボイス」とは、強烈な振動を発生させる少年ジェットの必殺技。その叫び声は「ウー・ヤー・ター」である。