Elsaの技術日記(徒然なるままに)

主に自分で作ったアプリとかの報告・日記を記載

MENU

windowsのコマンドプロンプトでLinuxコマンドを使いたい!!(alias登録手順)

WindowsLinuxコマンドプロンプトで使えるコマンドって結構違うんですよね。
よく使うコマンドとして、

ls

dir

仕事やプライベートでWindowsLinuxを行ったり来たりすることが多く、いつも間違ったコマンドを打って怒られる日々。。。
特に自分はコマンド入力はLinuxの方が慣れているのでWindowsでlsと打って結構頻繁に怒られる。。。

毎度OSを意識してコマンド切り替えると面倒!!
ということで、慣れているLinuxコマンドをWindowsで実行出来ないか考えたのですが、
aliasを使えばよくね??となり、Windowsでaliasの設定方法を確認しました!!

今回は備忘録も兼ねてブログにまとめたいと思います。



Windowsコマンドプロンプトでalias設定方法

Widowsにはaliasは存在しないようなのですが、マクロ定義が行える、
DOSKEYコマンド
があります。
こちらを用いればマクロ定義したコマンドで変換を掛けることが出来ます。

DOSKEYコマンドを使用したマクロ登録ですが、
doskey マクロ名=実行コマンド
を実行すれば、コマンドを登録できます。

例えば、lsをdirと登録する場合には、

doskey ls=dir

でOKです。
コマンドプロンプトを立ち上げて上記コマンドを入力すれば以降は、
lsと打つとdirが実行されます。

もしマクロを削除したい場合には、

doskey ls=

と入力すればOK。

もし登録したマクロを一覧で確認したい場合には、

doskey /macros

と入力します。

ここでマクロ定義ですが、パイプやリダイレクトは簡単に行えないようです。
例えば、

doskey lf = ls | less

などのような定義は行えないようです。

■マクロファイル作成

doskeyでマクロが定義出来ることは分かりました。
ただ、doskeyのマクロ定義はコマンドプロンプトを再立ち上げすると消えてしまいます。。。

そこでマクロ定義用のファイルを作成し、
コマンドプロンプト立ち上げ時に定義したマクロファイルを読み出してもらうようにします。

まずはマクロ定義用のファイルを作成します。
といってもテキストファイルにマクロの一覧を作成していけばOKです。
例えば、macros.txtというファイルを新規に作成し、

ls=dir $*
l=dir $*
ll=dir $*
chdriv=D:

などのようにテキストファイルにマクロを羅列すればOK。

コマンドプロンプト内で定義したマクロファイルを読み出して一括定義するには、

doskey /macrofile=macros.txtのパス

でOKです。

コマンドプロンプトを開いたときにマクロファイル読み込み

最後に、コマンドプロンプトを開いたときにマクロファイルを読み出して定義する方法です。
まず、コマンドプロンプトのプロパティを開きます。
もし分からなければ、、、
検索窓でcmdと入力し、
ヒットしたコマンドプロンプトアイコン上で右クリックし、
ファイルの場所を開く。
コマンドプロンプトが格納されたパスまで行くことが出来るので、
そこで、コマンドプロンプトを右クリック⇒プロパティを選択すればOK。

後は、リンク先(T:)に先ほどのコマンドを記載すればOK。
ただし、
すでに、

%windir%\system32\cmd.exe e

といった文言が入っているので、
/kオプションを用いて、

%windir%\system32\cmd.exe e /k doskey /macrofile=macros.txtのパス

と連結させればOKです。

これで、コマンドプロンプトを何回開いてもマクロ定義したコマンドを用いることが出来るようになります。

■最後に

今回はWindowsでaliasのようにコマンドをマクロ定義し、Linuxコマンドでも同じような動作をさせる方法を記載してみました。
一回登録してしまえばOKなのでぜひ使ってみてください。

一回登録すれば済むので絶対後で忘れるだろうな。
このブログはいつか自分で見ることになるだろう。