ホーム > 読んだ >

Open Cygwin Window Here
UNIX 使いのための VBScript と C#

書誌

author吉田昌英
publisherアスキー
year『UNIX Magazine 2004.12』p.83-97

目次

1感想
2抄録

履歴

editor唯野
2004.11.18読了
2004.11.29公開
2004.11.30修正

エクスプローラの右クリックメニューからカレントディレクトリで Cygwin を起動する記事。そのために PowerToys for Windows XP に含まれる CmdHere を最初の手がかりとして、レジストリの操作、VBScript による CygTerm の起動、C# によるシェル拡張を紹介している。ただ、私としては前者は Perl、後者は C++ でいいと思っているので、実装の概略のみをまとめた。

また、感想としては確かに有用な記事だと思うが、UNIX の雑誌が特集にする類のものかと考えてみると少々疑問が残る。まあ、それだけユニマガも柔軟になったということなのだろうか ?

抄録

84/85

Cygwin の bin ディレクトリにパスが通っていれば、PowerToys の CmdHere で開いたディレクトリから bash を起動できる。但し、この場合にはエスケープシーケンスの解釈などで Cygwin 上の端末に比べ機能的に劣る。

85

CmdHere の実体はレジストリで HKEY_CLASSES_ROOT\Directory\shell\cmd の値「Open Command Window Here」のサブキー command の値「cmd.exe /k "cd %L"」にある。%L は選択されたディレクトリのパスを示している。

85-87

日本語を通した上で Cygwin のシェルを動かせる端末として kterm、漢字パッチを当てた rxvt、Cygterm (TeraTerm の亜種)がある。ここでは CygTerm での起動を目指すが、CygTerm にはコマンドライン引数でカレントディレクトリを渡せないので、カレントディレクトリへ移動してから CygTerm を起動する必要がある。

しかし、レジストリからバッチファイルを呼び出す方法では、CygTerm の起動されている間、バッチファイルのコマンドプロンプトも開いたままになる。但し、これはバッチファイルではなくスクリプト言語などから CygTerm を呼び出せばコマンドプロンプトを開かずに済ませることができる。同様にディスクドライブの右クリックメニューから同じ処理を行わせたい場合には HKEY_CLASSES_ROOT\Drive\shell 以下に同じような設定をすればよい。

// バッチファイルを用いた場合
[レジストリ]
キー : HKEY_CLASSES_ROOT\Directory\shell\cygwin\command

全文を読まれる場合はログインしてください


Up