このページの本文へ

前へ 1 2 次へ

Windows Info 第471回

Windowsのコマンドラインでエイリアスを使う

2025年03月02日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

cmd.exeの場合はどうなる?

 cmd.exeの場合、conhost.exe側の機能であるAddConsoleAlias関数をC言語などから呼び出すことで、エイリアスを定義できる。

 しかし、この方法ではC言語によるプログラム開発が必要になるため、手軽な方法とはいえない。代わりの手段としてdoskey.exe(https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/doskey)によるエイリアスの定義が可能だ。ただし、doskey.exeでは、エイリアスと呼ばずにマクロ(macro)と呼ぶ。

 エイリアス(マクロ)の定義は、以下の書式でする。

doskey.exe マクロ名=コマンド1$tコマンド2$tコマンド3

 たとえば、C:\Temp\testに移動して、dirコマンドを実行させたい場合にmyAliasという名前でエイリアスを定義したければ、

doskey.exe myAlias=cd c:\temp\test$tdir

とする。

 定義済みのコマンドを表示したければ、「doskey.exe /macros:all」コマンドを使う。

エイリアス

cmd.exeのdoskey.exeは、マクロ(macro)でエイリアスを定義できる。doskey.exeのマクロは、コマンドライン全体を含められるため、コマンドの引数を含めた複雑なコマンドラインに別名をつけることが可能

 なお、doskey.exeは、コマンドラインの履歴管理(ヒストリ)もしている。履歴機能を使えば、以前実行したコマンドをマクロ化することも可能だ。

 doskey.exeのマクロは、自動的に保存されないため、以下のコマンドを使って、マクロをファイルに保存する。

doskey /macros:all >macro.mac

 ただし、「macro.mac」は保存先ファイル名で各自、適当なパスを指定する。拡張子も適当なもので、特に決まったものはない。これを読み込むには

doskey /macrofile=macro.mac

とする。

 このほか、doskey.exeでは、対話的なexeコマンド内(たとえばfpt.exe)で利用できるエイリアスも定義することができる。これについては、エイリアスの範疇を超えるので、解説は割愛する。

 エイリアスを使うことで、利用頻度の高いコマンドを短い名前で表記できる。たとえば、PowerShellでは、標準で「Where-Object」に「?」が、「Foreach-Object」に「%」が割り当てられている。これらを使うことで、コマンドラインを簡潔に記述できる。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン