前置き
毎回打つのが地味に手間なdockerコマンド。
「docker」→「d」
「docker-compose」→「dc」
と省略設定をしてみたいと思います。**「d ps -a」「dc up -d」**などとコマンドが打てるようになります。
windowsのDOSKEYコマンドを利用することで、コマンドに対してエイリアス(別名)を付ける事ができます。
「dir」コマンドをlinuxのように「ls」と設定するにはコマンドプロンプトで
doskey ls=dir
と入力すればlsが使えるようになります。
dockerコマンド省略
同じようにdocker,docker-composeそれぞれにエイリアス設定(=名前をつける)が可能です。
doskey d=docker $*
doskey dc=docker-compose $*
$*は引数受け取りを意味します。下記が使えるようになりました。
d ps -a
dc up -d
「dc」だと「cd」と混同しますね😅
適宜お好きに名付けてください。
ただし、この設定は永続的なものではなく。コマンドプロンプトを閉じると使えなくなってしまいます。
エイリアスの永続化
windowsの仕様上泥臭い方法になるのですが、doskeyを入力後ファイルに書き出し、出力したマクロファイルを毎度読み込ませるという形で事実上の永続化を行います。
まずエイリアス設定。
doskey d=docker $*
doskey dc=docker-compose $*
ユーザディレクトリに「macros.txt」として出力。「%USERPROFILE%」とはカレントユーザディレクトリのこと。保存場所は適宜変えてください
doskey /macros > %USERPROFILE%\macros.txt
マクロ読み込みコマンド
doskey /macrofile=%USERPROFILE%\macros.txt
これをコマンドプロンプト起動時に毎度打ち込めばエイリアスが使えます。
ただ毎回手打ち入力してらん無いんで、コマンドライン引数として実行させる必要があります。方法は2つ。
1. cmd.exeのショートカット作ってコマンドライン引数に指定
一番お手軽・安全。cmd.exeの後ろに半角スペース入れて上記をペースト。
/k "doskey /macrofile=%USERPROFILE%\macros.txt"
ただし作ったショートカットから毎回開かないエイリアスが適用されない。
レジストリ値設定
この方法だと全体にalias設定が可能です。
レジストリ エディターを開いて、
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
のどちらかを探し、右クリック>新規>文字列値
名前を
AutoRun
値を
doskey /macrofile=%USERPROFILE%\macros.txt
として保存するだけでOK
※ちなみにConEmu/Cmderでの設定①とほぼ同じ。&で繋いで下記入力して適用押す。
/k "doskey /macrofile=%USERPROFILE%\macros.txt"
「無効なマクロ定義です。」と表示される場合は
無効と言われるのに設定したエイリアスは使えるという現象が起きました。意味不明に
doskey /macros > %USERPROFILE%\macros.txt
で出力後、一度cmd.exeを閉じてもう一度cmd.exeを開き、
doskey /macrofile=%USERPROFILE%\macros.txt
を入力、①で作ったショートカットで開くとこの表示はなくなりました。
この現象ググっても全然出てこない・・
詳しい方いましたらコメントください