コマンドプロンプト起動時に実行させたいコマンドを設定

  • Windows 10 Pro 21H2

下に掲げるpingコマンドを頻繁に用いるけれども、毎回入力するのは大変面倒を感ずる。

>ping -t -w 500 宛先

腱鞘炎を予防するためにも打ち込む文字数は僅かでも減らしたい。これにはdoskeyコマンドを用いてマクロを定義するのが効果的である。ping -t -w 500をpの1文字に畳み込むならコマンドプロンプトを起動してこうである。

>doskey p=ping -t -w 500 $1

こうしてp 宛先と打ち込むだけでping -t -w 500 宛先と同じ効果が得られるようになった。けれどもコマンドプロンプトを起動するたびに実行する必要があり、億劫である。

そこでAutorunというレジストリである。ここに指定したコマンドは、コマンドプロンプトの起動時に実行される。従って、ここへマクロ定義のコマンドをセットすればらくちんになるという寸法である。レジストリパスは次の2つがあるけれども、普段はHKEY_CURRENT_USERのほうでよかろうとおもう。

HKEY_CURRENT_USER\Software\Microsoft\Command Processor
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

あとはこのキー内に次のようなAutorunを設定すれば終いである。

名前種類データ
AutorunREG_SZdoskey p=ping -t -w 500 $1
図1. Autorunを設定した様子

コマンドプロンプトから一息でセットしてしまうならこうである。

>reg add "HKCU\Software\Microsoft\Command Processor" -v Autorun -t REG_SZ -d "doskey p=ping -t -w 500 $1" /f

これでコマンドプロンプトを起動するだけでマクロが定義されるようになった。

図2. コマンドプロンプト起動直後にマクロが定義されている様子

なお、Autorunの設定を読み込まずにコマンドプロンプトを起動する場合は/Dを付与すればよかった。

コマンド ラインで /D が指定されなかった場合は、CMD.EXE の開始時に次の REG_SZまたは REG_EXPAND_SZ レジストリ変数が検索されます。次のレジストリ変数の両方またはどちらかが存在する場合、それらを最初に実行します。

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
および/または
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

cmd /h

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください