c:\temp
からd:\apps
に移動したいときにc:\temp>cd d:\apps
c:\temp>
などとしても、カレントディレクトリは
c:\temp
のまま。d:ドライブに移動すると、d:ドライブではd:\appsに移動しているという実装になっています。つまり、カレントディレクトリはドライブごとに管理されています。コマンドプロンプトの実体であるcmd.exeの組み込みコマンドcd (chdir)では、
cd /?
などとするとヘルプが表示され、その中に
/d
オプションがあることがわかります。これはドライブも含めて移動するオプションで、c:\temp>cd /d d:\apps
d:\apps>
とすればカレントドライブもカレントディレクトリも同時に変更され、現在位置が
d:\apps
になります。ところでWindows10では
doskey
というユーティリティがあり、これを使うとUNIX上のシェルのようにエイリアスを使用することができるようになります。D:\apps>doskey /?
コマンド ラインの編集、Windows コマンドの再呼び出し、マクロの作成を行います。
DOSKEY [/REINSTALL] [/LISTSIZE=サイズ] [/MACROS[:ALL | :実行ファイル名]]
[/HISTORY] [/INSERT | /OVERSTRIKE] [/EXENAME=実行ファイル名]
[/MACROFILE=ファイル名][マクロ名=[テキスト]]
/REINSTALL Doskey の新しいコピーを組み込みます。
/LISTSIZE=サイズ コマンド履歴バッファーのサイズを設定します。
/MACROS すべての Doskey マクロを表示します。
/MACROS:ALL Doskey マクロを含むすべての実行可能ファイルの
すべての Doskey マクロを表示します。
/MACROS:実行ファイル名
指定した実行可能ファイルのすべての Doskey マクロを
表示します。
/HISTORY メモリ内のすべてのコマンドを表示します。
/INSERT 入力したテキストが古いテキストに挿入されるように
指定します。
/OVERSTRIKE 入力したテキストが古いテキストを上書きするように
指定します。
/EXENAME=実行ファイル名 実行可能ファイルを指定します。
/MACROFILE=ファイル名 作成するマクロ ファイル名を指定します。
マクロ名 作成するマクロ名を指定します。
テキスト 登録するコマンドを指定します。
上下方向キーはコマンドを再度呼び出します。Esc はコマンド ラインをクリア
します。F7 はコマンド履歴を表示します。Alt+F7 はコマンド履歴をクリアします。
F8 はコマンド履歴を検索します。F9 は数字によるコマンドを選択します。
Alt+F10 はマクロ定義をクリアします。
以下は、DOSKEY のマクロ定義で使用する特殊コードです:
$T コマンド セパレーターです。マクロ中で複数のコマンドを定義できます。
$1-$9 バッチ パラメーターです。バッチ ファイル中の %1-%9 と同じ意味です。
$* コマンド ライン上のマクロ名に続くテキストで置き換えられるシンボルです。
これを利用してコマンドプロンプトで
doskey cd=cd /d $*
とすれば、cd
の動作が cd /d
に展開されるのでドライブも一緒に変更できるようになります。さらにこれをコマンドプロンプト起動時に自動的に設定するには、regeditを利用して
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
に AutoRun
というキーを作り、そこに初期設定として実行したい内容を記述したバッチファイルを設定しておきます。登録するバッチファイルは以下のような感じで作成しておきます。
@echo off
Doskey cd=cd /d $*
Doskey history=doskey /history
Doskey vim="C:\Program Files\Vim\vim.exe" $*
なんて感じで。
また、別なやり方として、ホームディレクトリにDOSKEYマクロファイルを置く方法もあります。ファイル名は
cmd.rc
で、以下のような内容を記述します。AutoRun
には doskey /macrofile=%userprofile%\cmd.rc
などとします。CD=CD /D $*
H=doskey /history
HISTORY=doskey /history
ALIASES=doskey /macros
こちらのほうが、よりUNIX的な感じがしますね。
0 件のコメント:
コメントを投稿