晴耕雨読

working in the fields on fine days and reading books on rainy days

[Windows] コマンドプロンプトでlsを使う

Windowsバッチファイルでは、doskeyコマンドを使ってlsをdirにするマクロを設定することができます。 また、レジストリを編集してAutoRunで実行するファイルパスを指定すると、.bashrc のようにコマンドプロンプト起動時に、指定したバッチファイルを実行することができます。

DOSKEYコマンド

DOSKEYコマンドの使い方は以下の通りです。 左辺にマクロ名、右辺に展開後を書きます。「=」の両側にスペースを入れてはいけません。

> doskey hoge=echo HELLO!
> hoge
HELLO!

登録したマクロは普通のコマンドと同じように実行できます。 同じ要領で、lsマクロの定義は以下のようになります。

> doskey ls=dir $*

しかし、コマンドプロンプトを終了するとdoskeyの設定は消えてしまいます。

コマンドプロンプト起動時に自動実行

コマンドプロンプトにはAutoRunというものがあります。 これはコマンドプロンプト起動時に任意のバッチファイルを実行するものです。

AutoRunを有効にするにはレジストリを編集する必要があります。 レジストリエディタを開いて、HKEY_CURRENT_USER\Software\Microsoft\Command Processor に、 名前「AutoRun」、種類「REG_SZ」、データ「%USERPROFILE%.batrc.cmd」を新規追加します (.batrc.cmd の名前は自分がわかれば何でもいいです)。

そして、ホームディレクトリ C:\Users\ユーザ名\ の直下に .batrc.cmd ファイルを作成します。 .batrc.cmd の内容は以下で保存します。

@echo off
doskey ls=dir $*

ここまで設定すれば、コマンドプロンプトで ls を叩いたときに dir が呼び出されるようになります。

(おまけ) レジストリ編集用のファイル

設定するたびに毎回レジストリエディタを開いて値を編集するのは疲れる…という人は、 以下の内容を拡張子 .reg で保存して、ダブルクリックで実行します。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"AutoRun"="%USERPROFILE%\\.batrc.cmd"

このファイルを実行することで、レジストリに値を登録することができます。


参考文献