Linux かぶれが Windows コマンドの一部を Linux コマンドっぽくしてみた
Linux の端末をちょっと使い慣れてくると、Windows でもコマンドプロンプトを使ったり、バッチファイルを使いたくなるから不思議なものです。
でも、ついつい Linux のコマンドを入力してしまって……
Microsoft Windows [Version 6.0.6002] Copyright (c) 2006 Microsoft Corporation. All rights reserved. C:\>mv hoge.txt hage.txt 'mv' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
とか、言われてしまうわけですよ。
使い慣れてきたとはいえ、Linux のコマンド一覧なんてとても覚えきれていないのに、Windowsコマンド集 まで覚えるのはちょっとボクには困難すぎる……じゃあ、よく使いそうなヤツだけは Linux と一緒にしてしまえばいいんじゃ? と、いうことでやってみました。
というか、やってる人がいたので真似してみました。
batファイルを作成する
単純に言うと、使用頻度の高い Linux コマンドを、Windows の doskey マクロを利用してコマンドプロンプト起動時に実行してしまおうという試みになります。
doskey マクロを使用してコマンドの入力を簡略化する
ということで、まずは doskey コマンドの書かれた bat ファイルを作成していきます。この場合の doskey コマンドの記述内容は以下のようになります。
doskey [Linuxコマンド]=[Windowsコマンド]
ちなみに、ボクの cmd_init.bat の一部はこんな感じ。
doskey cat=type $* doskey ls=dir $* doskey rm=del $* doskey mv=move $* doskey cp=copy $* doskey which=where $* doskey ifconfig=ipconfig /all
あと、ファイルの最初と最後に @echo off/on と書いておくと、
@echo off (略) @echo on
コマンドプロンプトを立ち上げた時に、実行されたコマンドが表示されなくなります。ボクは表示したほうが安心するので、そのままです。直後に画面表示を消去する cls コマンドを打てばいいだけですしね。
レジストリに登録する
作成した batファイルを、レジストリに登録して、コマンドプロンプトが呼ばれたら必ず読み込むようにしておきます。
読み込む用のショートカットを作成するという方法もありますが、せっかく batファイルを作ったので、常に読み込ませる設定にしちゃいます。
- regedit.exe を起動させます
- [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]キーを表示します
- 編集 > 新規 > 文字列値 を新規作成します
- 値の名前 : AutoRun と記述します
- 値のデータ: バッチファイルの置き場所のフルパス を記述します
これで、コマンドプロンプトを起動すれば、doskey のマクロが動いてくれているはずです。
なんにせよ、もっともっと、Linux の基礎も勉強しないとダメですね。
おまけ
Unix の環境を Windows に組み込んでしまうってのもあるんですね……ここまでやるなら Windows いらないんじゃ…
Native Win32 ports of some GNU utilities
UnxUtils | Free software downloads at SourceForge.net