alias for Windows 1. 概要 コマンドの別名(エイリアス)を定義するコンソールアプリケーションです。 いわゆる "エイリアス" コマンドです。 特別なシェルを必要とせず、Windows のDOSプロンプトのみで動作するのが特長で す。また GUI アプリケーションのエイリアスも作成できます。 2. 動作環境 以下の環境で動作を確認しています。 Windows 2000 Pro Windows XP Pro Win9x/Me/NT4 は以前動作していたため、今でも動作すると思いますが、 最近はまったく確認できていません。 3. インストール アーカイブには以下のファイルが含まれています。 alias.txt alias.exe alias.ini exec.ex_ execc.ex_ これらのファイルを展開した後、任意のディレクトリにコピーしてください。 そのディレクトリを PATH に追加します。PATH の追加は AUTOEXEC.BAT に記述し ます。 4. アンインストール alias でエイリアスを定義すると、ヘルパコマンド(アプリケーション起動用の ファイル)を各エイリアスの定義ごとに作成します。 アンインストールする場合には、まず、 C:\>alias /clear と /clear オプションを付けて alias コマンドを実行してください。 /clear オプションは alias コマンドが作成したすべてのヘルパコマンドを削除 します。 その後、インストールした5つのファイルを削除してください。 alias はレジストリを使用しません。 5. 使い方 MS-DOSプロンプトから、 C:\>alias memo notepad.exe c:\memo.txt のように入力して使用します。 この例の場合、memo が notepad.exe c:\memo.txt の別名として定義されます。 以降、コマンドラインで memo とタイプするだけで、memo.txt を編集することが できるようになります。 定義を削除するには C:\>alias /del memo と入力します。 その他のオプションは C:\>alias /? で表示されますので確認してください。 6. 特徴(利点というわけではない) - プログラムが増殖します。 alias はエイリアスを定義する毎に エイリアス名.exe の名前のプログラム( ヘルパコマンドと呼びます)を生成します。たとえば、 C:\>alias memo C:\Windows\notepad.exe c:\memo.txt の定義によって alias.exe と同じディレクトリに memo.exe を 作成します。 memo とタイプすることにより実際にはこの memo.exe が実行され、memo.exe の中から、 C:\Windows\notepad.exe c:\memo.txt が呼び出されます。 定義を増やすと、その分だけプログラムがどんどん増えていきます。 - GUIアプリケーションのエイリアスが作成できます。 いわゆる通常のエイリアスコマンドはコンソールで動作するシェルの組み込み 機能として実現されています。そのため、たとえばエクスプローラからエイリ アス定義されたコマンドを実行することはできません。 しかし、このツールはエイリアス毎に実行ファイルを作成するため、GUIアプ リケーションであっても同じようにエイリアスを作成することができます。 コンソールアプリケーションをエイリアス登録した場合にはアプリケーション 起動を行うヘルパコマンドもコンソールアプリケーションとして作成されます が、GUI アプリケーョンをエイリアス登録した場合にはヘルパコマンドも GUI アプリケーションとして作成されます。これらコンソールアプリケーションか GUI アプリケーションかの識別は自動的に行われます。 というか、もともとこのツールは GUI アプリケーションのエイリアスを定義 するのを目的として作成されました。普通に考えると GUI アプリケーション のエイリアスというのは単にショートカットを作成すればいいわけで、意味は なさそうですが、実はショートカットとは別の利点があります。この利点につ いては次の "6. 高度な使い方" の a) で説明しています。 - 標準エラー出力を標準出力にすり替えることができます。 Windows 9x では標準エラー出力のリダイレクトができません。 Windows 9x の MSDOSプロンプトでは表示行数が固定なこともあり、非常に不便 を感じることがあります。 このツールではあらかじめオプションを指定しておくことで、エイリアス指定 したアプリケーションの標準エラー出力を標準出力にすり替えることが可能で す。 これにより Windows 9x での標準エラー出力のリダイレクトを実現します。 この機能を有効にするためには、以下のオプションを .ini ファイルに直接記 述します。 stderr2stdout=on 6. 高度な使い方 a) ショートカットとの併用 ここではショートカットと併用することでショートカットの欠点を補う方法を 説明します。 Windows 95 には [送る] コマンドという便利な機能があります。 あらかじめ [C:\Windows\SendTo] フォルダにアプリケーションのショートカッ トを作成しておくと、Explorer でファイルを指定して右ボタンをクリックした とき現れる[送る]メニューの中に送り先として表示され、指定したファイルを 引数として簡単にアプリケーションを起動できるというものです。 しかし、このようにして起動されたアプリケーションにはショートカットのプ ロパティで指定したパラメタが何故か無視されてしまうという問題があります。 ここで秀丸を例にとって説明します。 秀丸は起動時にファイルの文字コードを指定するオプションを記述することが できます。たとえば C:\>c:\progra~1\Hidemaru\hidemaru.exe /fe a.txt とした場合に、a.txt を EUC コードと仮定してファイルを開きます。 また、リンク先を "c:\progra~1\Hidemaru\hidemaru.exe /fe a.txt" として ショートカットを作成しても、ショートカットのダブルクリックで、正しく EUC コードとして開きます。 ところがここで、"c:\progra~1\Hidemaru\hidemaru.exe /fe" というリンク先 のショートカットを [SendTo]フォルダに作成して、[送る]メニューから a.txt 開く場合、オプションとして指定したはずの /fe が無視されていまい、 Shift-JIS(デフォルト)としてファイルを開いてしまうという問題があります。 (ショートカットへのファイルのドラッグアントドロップでも同様) alias を併用することでこの問題を解決し、強制的にオプションを付加してア プリケーションを起動することが可能になります。 この秀丸の例では C:\>alias hideeuc c:\progra~1\Hidemaru\hidemaru.exe /fe として hideeuc を定義します。これで秀丸を必ず /fe オプション付きで呼び 出す hideeuc.exe が作成されました。そしてショートカットのリンク先として "c:\progra~1\Hidemaru\hidemaru.exe /fe" の代わりに "c:\tool\hideeuc.exe" (alias が c:\tool にインストールされている場合) を指定することで確実に パラメタをアプリケーションに渡すことが可能になります。 b) 定義ファイルの直接編集 alias の設定は alias.ini に定義されています。 エイリアスを定義したり削除したりするためにこのファイルを直接編集するこ とも可能です。 alias.ini を編集してコマンドの追加/削除を行った場合には、編集の後、必ず 次のコマンドを入力してください。 C:\>alias /apply このコマンドは追加されたエイリアスのヘルパコマンドを作成したり、削除さ れたエイリアスのヘルパコマンドを削除したりします。 以下に定義ファイルの例を示します。 ;---- 定義ファイル サンプル ----------- ; 秀丸(EUC) [HideEUC] type=GUI app=c:\Program Files\Hidemaru\Hidemaru.exe param=/fe dir= [ruby] type=console app=C:\tool\ruby16ms\ruby.exe param= dir= env:RUBYLIB=C:/tool/ruby16ms/lib ;---- ここまで ------------------------ 7. 修正履歴 ver0.10 '98.09.03 新規作成 ver0.11 '98.12.15 Delphi 4 でリコンバイル、Windows 98 で動作確認 ver0.12 '99.08.22 .iniファイルのダブルクォーテーションの扱いを変更 オプションの変更(いろいろ) ver0.13 1999.08.27 コマンドの GUI/console 自動認識 DOS内部コマンドサポート(command.com経由呼び出し) その他いろいろ ver0.14 1999.10.22 環境変数を設定できるようにした メッセージ変更(usage) ver0.15 2000.01.01 NT に対応 /edit でアプリ呼び出し失敗したとき、notepad で再トライ ver0.16 2000.01.09 シェルの取得に COMSPEC を使うように変更 ver0.17 2000.11.01 ちょっとだけソース整理 ver0.18 2002.02.25 複数回行っていた .ini ファイルアクセスを1回にした stderr => stdout 変換 (暫定仕様) ver0.19 2002.03.17 stderr => stdout 変換はコンソールのみ有効にした stderr => stdout 変換のオプション書式変更 ヘルパコマンドのサイズ縮小 ver0.20 2002.05.02 ver0.19 で .ini ファイルに余分な改行が挿入されていたのを修正 ver0.21 2006.06.17 ヘルパプログラムの復帰コードをターゲットアプリの復帰コード とするように修正 ビルド環境を Delphi2005 に ver0.22 2008.01.17 復帰コードを返却はコンソールアプリのみに限定 ビルド環境を Delphi 5 に戻した(2005のインストールCD紛失のため) 8. 使用条件、免責 本プログラムはフリーソフトウエアです。 配布は自由に行うことができます。 本プログラムは無保証です。 本プログラムの使用においた生じた如何なる損害についても作者は一切の責任を負 いません。 金子尚史(kanegon) e-mail : wbs01621@mail.wbs.ne.jp WebPage : http://www2.wbs.ne.jp/~kanegon/