PCKのプログラムは、大きく次のように分類されます。
GUIフロントエンド。アイコンの漢字の色が赤、シアン、マゼンタ、青、黄緑のGUIプログラム: 管(pipe line)、行(command line)、見(sb)、覧(dir)、覧(dir)、覧(ls)、猫(cat)、珠(perl)など。
このうち、GUIフロントエンドは、対応するコマンド行プログラム(PCKやWindowsに含まれている場合と別途入手しなければならない場合があります)とspawn.exeがなければ動作しません。シェルエクステンションと択は、それぞれtouchまたはGUIフロントエンドがなければ存在する意味がありません。ほかのものは、単独でも動作しますが、最初の3つは密接な関係を持っています。
GUIフロントエンドとは、コマンド行プログラムを起動するためのGUIプログラムを指す、このシステムのなかでの用語です。耳慣れない言葉でしょうが、慣れてください。この種のプログラムにとってもっとも重要なものは、メインダイアログボックスのもっとも下に表示される1行のテキスト、すなわちコマンド行です。GUIフロントエンドのその他の部分は、このコマンド行を組み立てるための少々大げさな道具となっています。GUIフロントエンドは、「実行」ボタンが押されると(あるいは、ファイルがドロップされると)、組み立てたコマンド行をパラメータとしてspawn.exeを起動します。つまり、コマンド行を実際に実行するのはspawn.exeで、GUIフロントエンドはコマンド行を編集する以外に何もしません。GUIフロントエンドは、起動したspawn.exeが処理を終了するのを待とうともしません。もし、何らかの問題があってspawn.exeがハングしても、GUIフロントエンドはハングしません。
GUIフロントエンドは、コピーアンドペースト、ドラッグアンドドロップ、バッチファイルの保存とロードという形で、プログラム名とコマンド行オプション、入力ファイル名を相互にやり取りすることができます。このやり取りの仕組みや交換されるデータの形式については、「コマンド行情報のやり取りの仕組み」を参照してください。
ほとんどのGUIフロントエンドは、PCKに含まれているものであれ、そうでないものであれ、対応するコマンド行ツールを想定して作られていますが、5つのプログラムだけはそのような対応関係を持ちません。
1つ目は、ユーザーが入力した任意のコマンド行を実行する行(cmdline)です。極端なことを言えば、これとspawn.exeがあれば、ほかのGUIフロントエンドはいりません。行があれば、どのようなコマンド行でも実行できます。しかし、オプションがダイアログボックス自体に表示されているほかのフロントエンドの方が行よりも使いやすいという方もいらっしゃるでしょう(そうでなければ、行以外のGUIフロントエンドを30種も作ってしまった私は困るのですが)。同じことを実現する複数の方法があるということは、決して悪いことではないはずです。
2つ目の見(sb)は、ver.2.2.0.0で追加されたプログラムで、GUIフロントエンドというよりは、単独で動作するGUIプログラムです。実際、見はコマンド行プログラムの出力を表示できるPCKプログラムでもあります。しかし、プログラム内であるコマンドを使えば、行とほぼ同じようにコマンド行を自由に書いて実行できます。
3つ目の木(tv)は、ver.2.2.0.5で追加されたプログラムで、見と同様に基本的にはブラウザ、ビュアプログラムです。通常のテキストビュアとは異なり、ツリーコントロール(エクスプローラのフォルダ一覧のウィンドウで使われているもの)を使って、行頭にインデントの入ったテキストファイルを木構造にして表示します。ですから、見以上に表示がメインの機能で、コマンド行プログラム実行機能は、あっても邪魔ではないから付け加えておいたという感じです。コマンド行の実行方法は、見とまったく同じです。
4つ目の背(bg)は、GUIフロントエンドでありながら、GUIを持ちません。スタートメニューアイテム、デスクトップアイコンなどのエクスプローラの機能とPCKを組み合わせて使うときにのみ必要になります。
対応するコマンド行ツールを持たない最後のGUIフロントエンドは、さまざまなコマンド行ツールを組み合わせてパイプラインを組み立てる管(pipeline)です。起動直後の管は何もすることができませんが、コピーアンドペースト、ドラッグアンドドロップ、バッチファイルロードなどの操作によってメインダイアログに1つ以上のアイテムを追加すれば、それらのアイテムから構成されるパイプラインを実行できるようになります。行に手でパイプラインを入力する場合を除き、パイプラインを組み立てられるのは管だけです。その意味で、管はPCK(パイプライン構築キット)が名前通りの仕事をする上でもっとも重要なツールだと言うことができます。
起動直後に何もできないのに、インストール後、デスクトップアイコンや「スタート」メニューから起動できるのは、管だけですが、それは、管だけがほかのGUIフロントエンドを起動できるからです。管は、メインダイアログボックスのほかに、次のような「起動ボックス」というダイアログボックスを表示します(「設定」ダイアログボックスの設定次第で、起動時に自動表示することも、「追加」ボタンを押すまで表示しないようにすることもできます)。
このダイアログボックスには、PCKに含まれているほとんどすべてのGUIプログラムのリスト(ただし、管自身や文などを除く)が含まれています。このなかでどれかを選択して「起動」ボタンを押すか、ダブルクリックすると、そのプログラムが起動されます。これは、エクスプローラでコマンドをダブルクリックするのと同じことですが、「起動ボックス」には個々のコマンドについての簡単な説明が含まれています。
このように、対応するコマンド行ツールを持たない行、背、管はGUIフロントエンドのなかでも特殊な存在ですので、他のGUIプログラムとは異なり、もっとも目立つ赤のアイコンを持っています。
spawn.exeは、与えられたコマンド行をさらにcommand.com(Windows 9x/Me)かcmd.exe(Windows NT/2000/XP)に渡して実行させます。ただし、キーボードから標準入力を与えたり、コンソールウィンドウに標準出力を書き出したりしなくても済むようにするために、コマンド行に若干の操作を加えます。もっとも、パイプ文字を解釈するのは、command.comやcmd.exeです。つまり、spawn.exeも大した仕事をしているわけではありません。spawn.exeは、command.com、cmd.exeがコマンドの実行を終了するのを待ち、標準出力がリダイレクトされている一時ファイル(あるいはコマンド行で明示的に指定されたファイル)を引数として、レジストリで指定されているテキストエディタを起動します。spawn.exeは、MS-DOS/コマンドプロンプトウィンドウで実行することもできます。spawn.exeの詳細については、「spawnについて」を参照してください。
コマンド行ツールは、このシステムで使われるときでも、そうでないときでも自分の仕事をするということでは同じです。このシステムがなくてもcygwinツールが便利に使えるのと同じように、PCKに含まれるコマンド行ツールも、このシステムとは無関係に使うことができます。
GUIフロントエンドがどのコマンド行ツールを使うかは、GUIフロントエンドの設定によって決まります。アイコンの漢字が青になっているGUIフロントエンドは、PCK付属のコマンド行ツールを動かすことを意図して作られていますが、PCK付属のコマンド行ツールはcygwinツールをモデルとして作られていますので、cygwinツールを起動するために使うこともできるはずです。
板(board)、触(touch)は、GUIフロントエンドやコマンド行ツールとは無関係で、独立のプログラムとして実行されます。文(el)は、GUIフロントエンドから起動される補助プログラムですが、対応するコマンド行ツールを持つわけではなく、他のプログラムの助けを借りずに自分の仕事をすることができますから、やはりこのグループに分類されます。これらのプログラムの使い方の詳細は、それぞれのページを参照してください。択(pckbps)は、PCKで作成したバッチファイルをエクスプローラでダブルクリックしたときに、起動されるプログラムで、適切なGUIフロントエンドを選択し、コマンド行引数としてバッチファイルを指定してそのGUIフロントエンドを起動します。単独では意味を持ちません。このプログラムの詳細については、「コマンド行情報のやり取りの仕組み」の「バッチファイルからの起動」を参照してください。
シェルエクステンションとは、Windowsエクスプローラの機能を拡張する小プログラムで、これがインストールされているシステムでは、Windowsエクスプローラの動作がシェルエクステンション抜きのシステムとは少し異なるものになります。しかし、この種のプログラムは、単独では実行できません。PCKには2つのシェルエクステンションが付属しており、どちらも他のファイルとは異なり、Windowsディレクトリにインストールされます。
pckext.dllは、拡張子.batのファイルのためのアイコンエクステンション兼コンテキストメニューエクステンションです。ver.2の任意のGUIフロントエンドで「(.bat)保存」コマンドを選択してバッチファイルを保存してください。そのファイルは、通常の.batファイルとは異なり、GUIフロントエンドのアイコンで表示されるはずです。これがアイコンエクステンションとしての機能です。GUIフロントエンドのアイコンで表示されている.batファイルは、ダブルクリックするとアイコンが示すGUIフロントエンドを起動します。その仕組みの詳細については、「コマンド行情報のやり取りの仕組み」の「バッチファイルからの起動」を参照してください。
エクスプローラで拡張子が.batのファイルを右クリックしてコンテキストメニューを表示すると、1つから3つのコマンドが追加されます。どのファイルでも表示されるのは、「内容を「見」る」で、見でファイルの内容を表示できます(もっとも、テキストファイルではないファイルを見ても、あまり意味はありませんが)。PCKの漢字アイコンで表示されているファイルの場合、これの他に「「行」から開く」、「「管」から開く」の2つのコマンドが追加されます。ダブルクリックしたときに起動されるGUIフロントエンドが何であれ、これらのコマンドを選択すれば、行や管からバッチファイルを開くことができます。通常のアイコンで表示されているファイルの場合、「内容を「見」る」を除けば「「行」で実行する」コマンドだけが追加されます。これを選択すると、行が起動され、そのコマンド行コンボボックスにバッチファイル名が表示されます。「実行」ボタンを押せばただちにバッチファイルを実行できるように準備するわけです。以上がpckext.dllのコンテキストメニューエクステンションとしての機能です。
ot32ext.dllは、触(touch)のためのコンテキストメニューエクステンションです。PCKをインストールしたあと、エクスプローラでファイルを選択し(複数でも可)、マウスの右ボタンをクリックすると、コンテキストメニューのなかに「タイムスタンプ操作」というコマンドが追加されているはずです。このコマンドを選択すると、選択されたファイルをリストに含んだ形で触(touch)が起動されます。
先ほど、spawn.exeが起動するテキストエディタはレジストリの設定によって決まると書きましたが、PCKでは、レジストリがさまざまな箇所で使われています。詳細は、「レジストリについて」を参照してください。