必须执行chcp 936切换为gbk编码,并禁用utf-8 beta选项、删除autorun注册表项、设置console codepage为936,才能确保cmd窗口稳定支持中文路径与输出。

Win11命令行执行chcp后显示“Active code page: 65001”,但后续中文仍乱码或需临时切回GBK环境运行旧脚本、调用老工具时,必须将代码页准确还原为936(GBK),否则中文路径、文件名、输出内容会持续错乱。
立即切换回GBK编码(当前窗口生效)
这一步操作起来很简单,直接在当前CMD窗口中输入命令即可。
输入:chcp 936,按回车执行。
确认返回提示为“活动代码页: 936”——此时所有后续命令的中文输入/输出都将按GBK规则解析,适用于运行依赖GB2312/GBK编码的批处理、C++程序或读取无BOM的中文文本。
撤销UTF-8 Beta全局设置(避免重启后仍强制65001)
若之前启用了“Beta版:使用Unicode UTF-8提供全球语言支持”,系统会在每次启动CMD时自动加载65001,覆盖手动chcp 936的效果。
① 按Win + S,搜索并打开“更改系统区域设置”。
② 取消勾选【Beta版:使用Unicode UTF-8提供全球语言支持】。
③ 点击“确定”,按提示重启电脑——这是唯一能让chcp 936在新CMD窗口中稳定生效的前提条件。
注意:不重启,注册表和控制台设置不会刷新,新打开的CMD仍会默认跳回65001。
清除注册表自动执行指令(防止chcp被静默覆盖)
方法一:禁用AutoRun命令
按Win + R,输入regedit,回车打开注册表编辑器。
导航至:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor。
找到右侧的字符串值“AutoRun”,右键→删除。
方法二:重置Console默认CodePage
同样在regedit中,导航至:HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe。
若存在DWORD值“CodePage”,双击将其数值数据改为936(十进制),点击确定。
关闭注册表编辑器,重新打开CMD验证是否默认显示936。











