コマンドプロンプトでエリアスを設定する anchor.png

コマンドプロンプト(cmd.exe)で別名でコマンド(エイリアス)を設定する場合,例えば,

doskey l=dir $*

で,別名(エイリアス)が設定出来る。

上記の場合は,lがエイリアス名で,dirがコマンド名,$*が引数になります。
コマンドプロンプトを起動し,上記コマンドを実行した後だと,lと打つだけでディレクトリの中身が見られるようになる!

しかし,起動したコマンドプロンプト(cmd.exe)でのみ有効になる。そのため,コマンドプロンプト(cmd.exe)を起動するたびに実行する必要がある。

普通は,コマンドプロンプトを起動するBATファイルを作成して,その中でdoskeyコマンドで設定することをします。
cmd.batの例:

@echo off
cd /D %HOME%
doskey ls=ls --color=auto --show-control-chars $*
%COMSPEC% /D
exit

しかしコマンドプロンプト(cmd.exe)の代わりにcmd.batを使うのも面倒ではある。

bashだと.bashrcに設定しておけば良いわけだが,コマンドプロンプトでもこのようにしたい。
そこで,コマンドプロンプトが起動する度に,設定ファイルを自動的に実行されるようにしてみる。

Page Top

コマンドプロンプトが起動する度に自動的に実行されるようにする anchor.png

まず,設定したいエイリアスを列挙したファイルを作成します。
例として,.cmdrcというファイルを作成します。

.cmdrc

clear=cls
ls=ls --color=auto --show-control-chars $*
ll=ls --color=auto --show-control-chars -l $*
l=ls --color=auto --show-control-chars -CF $*
cd=cd /D $*
vi=C:\WinApl\vim\vim.exe $*
sa=C:\WinApl\sakura\sakura.exe $*
xn=C:\WinApl\Graphics\XnViewPortable\XnViewPortable.exe $*
pw = pwd $*
u= cd ../
tf=tree /f $*
history=doskey /history
alias=doskey /macros
ee=explorer .
sort=C:\msys64\usr\bin\sort.exe $*

ファイルを置く場所は,環境変数USERPROFILEで設定されているホームディレクトリにします。Windows 7で標準だとC:\Users\ユーザ名になる。

次に,このファイルをコマンドプロンプト起動時に自動的に読み込まれるようにレジストリを編集します。

> reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /d "doskey /macrofile=%USERPROFILE%\.cmdrc"

これで設定が毎回読み込まれ,エイリアスが使えるようになります。

環境変数HOMEで設定されているホームディレクトリにする場合は,

> reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /d "doskey /macrofile=%HOME%\.cmdrc"

にすれば良い。

エイリアスの追加
新たなエイリアスを追加したくなった場合は,.cmdrcへ追記すればOK。

Page Top

DOSKEYのパイプなど anchor.png

DOSKEYのマクロ登録に,パイプ等を使う場合は,特殊な記号を使わないとダメ。

>    -->   $g
>>   -->   $g$g
<    -->   $l
|    -->   $b
&    -->   $t
$(文字としての$)   -->   $$
バッチファイルの%1-%9と同じ   -->    $1~$9
マクロ名に続くテキストで置き換えられるシンボル   -->   $*

また,マクロファイル内でコメントアウトしたい場合は,;= を使えばいいみたい。


新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 828, today: 1, yesterday: 4
最終更新: 2022-03-29 (火) 08:55:17 (JST) (752d) by yuji