コマンドのエイリアス設定(DOSKEY)

広告

doskeyコマンドを使いコマンドに対してコマンドマクロを登録する方法を確認します。コマンドマクロとはエイリアス(別名)のことです。次の書式を使用します。

doskey マクロ名=テキスト

例えば「dir /ad」というコマンドに対して「ls」というコマンドマクロを設定するには次のように入力します。

doskey ls=dir /ad

コマンドのエイリアス設定(DOSKEY)

これで「dir /ad」に対して「ls」というコマンドマクロが登録されました。以後コマンドプロンプト上で「ls」と入力すると「dir /ad」が入力されたのと同じように実行します。

では実際に試してみます。

コマンドのエイリアス設定(DOSKEY)

既にあるコマンド名をコマンドマクロ名として利用し、コマンドを登録することもできます。例えば「tree」と実行したら常に「tree /f」が実行されるようにしたい場合はつぎのように入力します。

doskey tree=tree /f

コマンドマクロの一覧

現在登録されているコマンドマクロの一覧を確認します。一覧を表示するには「/macros」オプションを使用します。

doskey /macros

コマンドのエイリアス設定(DOSKEY)

現在登録されているコマンドマクロの一覧が表示されます。

コマンドマクロの削除

登録したコマンドマクロを削除するには次のように入力します。

doskey マクロ名=

既に登録されているコマンドマクロを表すマクロ名に対して上記のように入力することでコマンドマクロを削除できます。例えば「tree=tree /f」として登録したコマンドマクロを削除するには次のように入力します。

doskey tree=

コマンドのエイリアス設定(DOSKEY)

コマンドマクロが削除されていることが確認できます。

リダイレクトとパイプ

コマンドマクロに登録するコマンドにリダイレクトやパイプを使用したい場合には特別な記述をする必要があります。例えば次のように入力したとします。

doskey tree=tree / f | more

登録されている内容を確認すると次のように表示されます。

コマンドのエイリアス設定(DOSKEY)

これは「doskey tree=tree / f」に対してパイプが設定されれているように解釈されるためです。そこでコマンドマクロの登録対象となるコマンドにリダイレクトやパイプを使用する場合は「|」や「>」などの代わりに特別な文字を記述します。対応表は次の通りです。

>    <-->   $g
>>   <-->   $g$g
<    <-->   $l
|    <-->   $b
&    <-->   $t

例えば次のように使用します。

doskey tree=tree / f $b more

この設定によって「tree /f | more」に対して「tree」というコマンドマクロを設定したことになります。では実際に「tree」と入力してみます。

コマンドのエイリアス設定(DOSKEY)

指定したコマンドマクロで設定されたコマンドが実行されていることが確認できます。

ではもう1つ試してみます。

doskey ls=dir /ad $g log.txt

今度は「dir /ad > log.txt」に対して「ls」というコマンドマクロを設定しています。では「ls」と入力しています。

コマンドのエイリアス設定(DOSKEY)

「log.txt」というファイルが作成されています。typeコマンドを使ってファイルの中身を確認しています。

コマンドのエイリアス設定(DOSKEY)

「dir /ad」を実行した結果が書き込まれていることが確認できました。

最後に「&」です。「&」を使用するとコマンドマクロに対するコマンドとして複数のコマンドを指定することができます。そして実際に記述する場合は「&」の代わりに「$t」を使用します。例えば次のように使用します。

doskey init=cd c:¥ $t cls

この場合まず「cd c:¥」を実行し、次に「cls」を実行する一連の動作に対して「init」というコマンドマクロを登録します。では「init」と入力してみます。

コマンドのエイリアス設定(DOSKEY)

コマンドのエイリアス設定(DOSKEY)

「cd c:¥」が実行され、次に「cls」が実行されていることが確認できました。

コマンドマクロの保存

コマンドマクロは便利ですが一度コマンドプロンプトを閉じてしまうと登録された内容は失われてしまいます。その為、コマンドプロンプトを起動するたびに同じコマンドマクロを利用したい場合には、まずコマンドマクロをファイルに保存しておき、コマンドプロンプトが起動したら保存したファイルを読み込むようにします。

まずコマンドマクロを保存します。コマンドマクロの一覧は「doskey /macros」で表示されますので、リダイレクトを使ってファイルへ出力します。ファイルの形式は特に決まっていませんので任意のファイル名を指定して下さい。

doskey /macros > c:¥cdtest¥macros.txt

これで現在登録されているコマンドマクロの一覧がmacros.txtファイルに保存されました。保存したファイルの内容を確認してみます。

コマンドのエイリアス設定(DOSKEY)

ではいったんコマンドプロンプトを閉じてから、再度コマンドプロンプトを起動します。その後でコマンドマクロの一覧を表示してみます。

コマンドのエイリアス設定(DOSKEY)

何も登録されていません。このようにコマンドプロンプトを一度閉じると、登録されていたコマンドマクロは消えてしまいます。では保存しておいたファイルからコマンドマクロを読み込んでみます。書式は次の通りです。

doskey /macrofile=ファイル名

先ほど保存したファイルは「c:¥cdtest¥macros.txt」でしたので、次のように入力します。

doskey /macrofile=c:¥cdtest¥macros.txt

これで保存されたコマンドマクロが読み込まれました。では再度コマンドマクロの一覧を表示してみます。

コマンドのエイリアス設定(DOSKEY)

コマンドマクロが登録されていることが確認できます。

なお常にコマンドマクロを読み込む場合には、読み込むためのバッチファイルを用意するかコマンドプロンプトの起動オプションに設定を追加しておくと便利です。

( Written by Tatsuo Ikura )