コマンドプロンプト/cmd.exeを起動したら自動で実行する仕組みをレジストリに追加する

lsでdir /wが、llでdirが実行でき、..で上のフォルダに移動できる、chcp コマンドで%u%,%j%が使える。さらに、chjやchuもある。以下バッチファイル。

@echo off
rem ↑矢印@echo offで実行コマンドを見えないようにする
set u=65001
set j=932
doskey ls=dir /w
doskey ll=dir
doskey ..=cd ..
doskey chj=chcp 932
doskey chu=chcp 65001
rem chcp 65001
echo AutoRun cmd.exe実行確認用
pause rem確認のために一旦止める

こんな感じです。ただし、上のpauseの行は削除してますし少し違ってます。

この設定バチファイルをcmdコマンドプロンプト起動時に実行すればいいが、レジストリを工夫すれば自動で指定のバッチファイルやアプリを実行することができる。

ただし、Pythonなどからcmd.exeを呼び出す場合は、毎回実行されることに注意。

とにかくcmd.exeを実行すると上のようなバッチファイルを自動的に呼び出すようにします。

で、レジストリをいじります(要注意)。

コマンドプロンプトからregeditを実行し、順にフォルダみないたHKEY_CURRENT_USERをクリックし、その中のSOFTWARE、その中のMicrosoft、その中のCommand Processorを選ぶ。regedit/レジストリエディタのメニューの下側は以下のようになっているはずです。

コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor

ここに文字列を追加します。名前の列の下辺りで右クリックメニューです。

名前はAutoRunです。大文字小文字に注意。

「新しい値 #1」を「AutoRun」に変えたらダブルクリックで実行したいコマンドやアプリを指定します。ここでは自作のバッチファイル、間違って消さないようにautorun.batにしてます。

以下は、名前をAutoRun、データをc:\users\take2\autorun.batとします。ここで指定したファイルを実行してくれます。

これでコマンドプロンプトを実行すると勝手にautorun.batを実行します。

さて、

ここまでマウス操作説明しておきながら何ですが。テキストファイルを作って拡張子をregにして保存すれば上記マウス操作は不要です。

メモ帳で以下のファイルを貼付け、aaaa.regというファイル名で保存します。拡張子regが大切。このファイルをマウスでクリックすると上記のマウス操作無しで

コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor

にAutoRunができて”c:\users\take2\autorun.bat”も入ります。take2\autorun.batの所は変更して下さいね。take2はログイン名、autorun.batはコマンドプロンプト実行時に毎回実行するバッチファイル。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor]
"CompletionChar"=dword:00000009
"DefaultColor"=dword:00000000
"EnableExtensions"=dword:00000001
"PathCompletionChar"=dword:00000009
"AutoRun"="c:\users\take2\autorun.bat"

で、クリックすると以下のメッセージボックスが現れます。

はい。でキーと値が追加されます。

なお、

レジストリを書き換えるテキストファイルの内容はregedit.exeで保存できます。Command Processorをマウスでクリック、選択してからメニューでエクスポートします。

cmd.exe実行時に毎回autorun.batを実行するのでmychcp.pyはいらないわ。