如何在windows中批量转换多个txt编码 解决代码乱码问题教程

如果您在Windows系统中处理多个TXT文件时遇到中文显示为方块、问号或符号错乱等现象,则很可能是由于文件编码与当前打开程序所用解码方式不匹配所致。以下是解决此问题的步骤:

一、使用鹰迅批量处理工具箱转换编码

该工具专为中文用户设计,支持自动识别源编码,并可一次性对数百个TXT文件执行编码重写,无需逐个打开,且保留原始文件结构与路径关系。

1、下载并安装「鹰迅批量处理工具箱」,启动后进入主界面。

2、在左侧功能栏点击「文本文件工具」,再选择「修改文本文件编码」模块。

3、点击「添加文件」或「添加文件夹」按钮,导入全部待处理的.txt文件。

4、在「原编码」下拉菜单中选择自动识别,系统将逐个分析文件头及内容特征以判定真实编码。

5、在「新编码」选项中指定目标格式,如需兼容旧系统选ANSI(GBK),如需跨平台通用则选UTF-8。

6、设置输出目录,勾选「保持原有文件夹结构」,点击「开始转换」。

二、利用VS Code配合扩展实现批量转码

适用于已安装VS Code的用户,通过轻量级插件实现无损编码迁移,支持UTF-8、UTF-16、GBK等多种格式互转,并默认创建带.bak后缀的原始备份文件。

1、打开VS Code,依次点击「文件」→「打开文件夹」,选择包含所有待转TXT文件的根目录。

2、按下Ctrl+Shift+X打开扩展面板,在搜索框中输入Change All End Of Line Sequence and Encoding,点击安装并重启编辑器。

3、在左侧资源管理器中按住Ctrl键多选需要转换的.txt文件,或直接右键点击某一级子文件夹选择「在资源管理器中显示」后全选。

4、右键选中项,在弹出菜单中找到并点击Change All Encoding to UTF-8(或其他目标编码)。

5、确认操作后,状态栏将显示转换进度,完成后所有文件均以新编码保存,原始文件自动备份为同名.bak文件。

三、通过CMD命令行执行基础批量转换

适用于熟悉命令提示符操作的用户,借助chcp指令切换控制台代码页,配合type与more命令完成换行符标准化与编码维持,适合仅需LF→CRLF转换且源编码已知的场景。

1、以管理员身份运行CMD,执行chcp 936(GBK)或chcp 65001(UTF-8)设定当前会话编码。

2、创建批处理脚本文件convert_encoding.bat,用记事本编辑并粘贴以下内容:

@echo offSETLOCAL ENABLEDELAYEDEXPANSIONset “source_dir=C:\input”set “target_dir=C:\output”for /R “%source_dir%” %%f in (*.txt) do (  set “fname=%%~nxf”  set “relpath=%%~pf”  set “relpath=!relpath:%source_dir%=!”  mkdir “%target_dir%!relpath!” 2>nul  type “%%f” | more /p > “%target_dir%!relpath!!fname!”)

3、将待处理的.txt文件统一放入C:\input及其子目录中,确保C:\output目录为空或不存在。

4、双击运行convert_encoding.bat,脚本将递归读取每个.txt文件内容,并以当前chcp设定的编码重新写入目标路径。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。