以前、ほぼ同じ質問がありました。返信でコード ページの適切な説明が提供されましたが、私の心の中での質問には答えませんでした: cmd.exe の開始時に使用されるコード ページを制御するもの 私のシステムでは、どういうわけか変更されます。レジストリ キー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage には、437 に設定された OEMCP という項目があります。後で何かが変更され、新しい cmd.exe ウィンドウでは 1252 になります。chcp で 437 に変更すると、現在の cmd.exe にのみ影響します。cmd.exe を終了して再起動すると、chcp は新しいウィンドウに 1252 を表示します。cmd 時に使用されるデフォルトの CP を制御するもの。exeが起動?レジストリの値からどのように変更されますか? 変更されないようにするには、または新しいコマンド ウィンドウの 437 に戻すにはどうすればよいですか?
2 に答える
私の Windows システムのデフォルトのコード ページcmd.exe
は 437 です。これは、私が読んだ限りでは、米国 (US) および西ヨーロッパで販売されているほとんどの PC ハードウェアのデフォルトの OEM コード ページです。このデフォルトを変更するAutoRun
には、キーの 1 つまたは両方の下に名前を付けた文字列エントリを追加します。
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
と
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
このMS Windows Server 2003 サポート ページに記載されているように、Windows レジストリで。起動時に自動的に実行するコマンドを含む値を使用して、これらのキーのいずれかまたは両方の下に名前をREG_SZ
付けた文字列エントリを追加する方法について説明します。AutoRun
cmd.exe
たとえば、コード ページ 1252 をデフォルトにするAutoRun
には、ユーティリティ プログラムでこれらのキーの 1 つに移動した後に名前を付けた新しい文字列値を作成し、後でregedit.exe
その値をコマンドに設定しますchcp 1252
。
MS の記事では、Windows Server 2003 に適用されることしか示されていませんが、この手法は、私がテストした Win XP システムでも機能したため、Vista および Win 7 でも機能する可能性があります。
Win+Rを実行して修正する場合cmd.exe /D
、問題は cmd autorun値にあります...