GB2312转UTF-8批处理脚本,解决一些中文编码导致的乱码

该脚本依赖git bash的 iconv 命令,请确保安装了git。

脚本会处理当前路径下和子目录中的所有 .c, .h文件,请自行根据使用情况修改。遇到某些字符会提示Failed to replace...,但请以实际转换结果为准,鼠标点击输出框会暂停,按"Enter"继续。

请复制后保存为.bat文件使用,如果有用就点个赞吧!

如果提示找不到bash命令,说明没有将git的命令添加到环境变量中,请将git安装目录中的bin文件夹路径(示例:"c:\Program Files\Git\bin")添加到系统环境变量中。"此电脑——属性——高级——环境变量——系统变量——Path——编辑——新建——将bin路径粘贴并确认"

@echo off
:: 使用当前路径作为工程目录,点击窗口暂停,按"Enter"继续
set "project_dir=%cd%"

:: 将路径转换为 Unix 格式
set "unix_project_dir=%project_dir:\=/%"

:: 遍历当前目录及其子目录中的所有 .c 和 .h 文件
for /r "%project_dir%" %%f in (*.c *.h) do (
    echo Converting file: %%f
    :: 使用 iconv 将文件从 GB2312 转换为 UTF-8
    bash -c "iconv -f GB2312 -t UTF-8 '%%f' > '%%f.tmp'"
    if errorlevel 1 (
        echo Failed to convert %%f
        :: 如果转换失败,删除临时文件
        del "%%f.tmp" 2>nul
    ) else (
        :: 如果转换成功,用临时文件覆盖原文件
        move /y "%%f.tmp" "%%f" >nul
        if errorlevel 1 (
            echo Failed to replace %%f with converted file.
            :: 如果替换失败,删除临时文件
            del "%%f.tmp" 2>nul
        )
    )
)

echo Conversion completed.
pause

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值