「mode con cp select=65001」で utf8 コードページに切り替えた後、バッチ処理の継ぎ目がエラー メッセージなしで動作を停止します。
したがって、コードページ 437 または 850 がアクティブな状態で新しく起動したコンソールで "cmd.exe /c test.bat" を実行すると、正常に動作します。「mode con cp select=65001」を実行すると正常に動作します。UTF-8 文字の表示は正常に機能します。「echo Hallo!」のようなものを実行します。正常に動作します。
ただし、「cmd.exe /c test.bat」を実行すると、エラー メッセージが表示されずに動作が停止します。
表示エラーだけではありません。バッチ ファイルが実行されません。
「古い」文字セットに戻すと、再び正常に機能します。UTF8 文字セットに切り替えると、再び機能しなくなります。
もちろん、UTF8 IS を控えることは解決策ですが、バックグラウンドには悪い副作用があります。