首页 > 其他分享 >ANSI转UTF-8编码的bat批处理脚本

ANSI转UTF-8编码的bat批处理脚本

时间:2023-03-10 22:22:39浏览次数:37  
标签:tmp 编码 bat set UTF codepth% %% ANSI aaa

替换掉bat脚本里的a.txt即可

ANSI转UTF.bat脚本内容:

::注释
::code1=ANSI(GB2312)
::code2=Big5
::code3=Shift_JIS
::code4=EUC-KR
::code5=UTF-8
::code6=Unicode
@echo off & setlocal enabledelayedexpansion
::设置文件转换前编码类型,请参考上面编码序号,序号5即指code5也就是UTF-8编码
set aaa=1
::设置文件转换后编码类型,请参考上面编码序号,序号1即指code1也就是ANSI(GB2312)编码
set bbb=5
::设置要转换的文件名
::set file=%~nx1
::替换掉下面的a.txt
set file=a.txt
set wfiles=%file%
echo !aaa!|findstr /be "[1-6]" >nul ||goto :eof
echo !bbb!|findstr /be "[1-6]" >nul ||goto :eof
if "!aaa!" == "!bbb!" goto :eof
echo>MakeBOM.vbs Set objFSO = CreateObject("Scripting.FileSystemObject")
echo>> MakeBOM.vbs Set objFile = objFSO.CreateTextFile("Unicode.BOM",,true)
cscript //Nologo MakeBOM.vbs
set codepth=编码转换后
md %codepth%\tmp
:loop
set vvv=!aaa!
if "!aaa!" == "6" set vvv=!bbb!
for /f "tokens=%vvv%" %%a in ("936 950 932 949 65001") do (reg add "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /v CodePage /t REG_DWORD /d %%a /f >nul)
if not "!aaa!" == "6" (
if not "!bbb!" == "6" (
start /wait /min cmd /u /c "for %%a in (%%wfiles%%) do copy Unicode.BOM tmpfile.tmp&type "%%~fa" >> tmpfile.tmp&move /y tmpfile.tmp %codepth%\tmp\"%%~nxa""
set aaa=6
set wfiles=%codepth%\tmp\*
goto loop
)
)
if "!bbb!" == "6" (
start /wait /min cmd /u /c "for %%a in (%%wfiles%%) do copy Unicode.BOM tmpfile.tmp&type "%%~fa" >> tmpfile.tmp&move /y tmpfile.tmp %codepth%\"%%~nxa""
) else (start /wait /min cmd /c "for %%a in (%%wfiles%%) do type "%%~fa" > %codepth%\"%%~nxa"")
reg delete "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /v CodePage /f >nul
del MakeBOM.vbs
del Unicode.BOM
move /y "%codepth%\%file%" "%file%"
rd /s /q "%codepth%"

标签:tmp,编码,bat,set,UTF,codepth%,%%,ANSI,aaa
From: https://www.cnblogs.com/liuhanxu/p/17204806.html

相关文章

  • Acrobat 中文语言支持包
    便携Acrobat打开电子发票,提示安装中文语言支持包,取消后乱码到Adobe官网现在语言包,无法打开网址。 后,在其他网站下载到一个PDFreader的中文语言支持包。解压后......
  • Mybatis中使用choose/when语句采坑记
    项目中写查询语句的时候,时常会使用到Mybatis中的choose/when语句,根据不同的条件执行不同的分支。最近在使用这个语句的时候,出现问题导致这个语句不能正确执行,排查很久......
  • What is the difference between utf8mb4 and utf8 charsets in MySQL?
    Whatisthedifferencebetweenutf8mb4andutf8charsetsinMySQL?回答1UTF-8isavariable-lengthencoding.InthecaseofUTF-8,thismeansthatstoringo......
  • MybatisPlus(四) BaseMapper层CRUD相关接口使用
    BaseMapper接口API:Insert(添加):/***插入一条记录**@paramentity实体对象*/intinsert(Tentity);参数说明:类型参数名描述......
  • Ansible常见特殊模块用法记录
    Ansible常见特殊模块用法记录1、delegate_to:将某一个任务委托给指定主机-name:"getinventory_hostname"shell:echo{{inventory_hostname}}$HOSTNAME>>/tmp/......
  • 跟老杜从零入门MyBatis到架构思维(四)使用MyBatis完成CRUD- 下
    使用MyBatis完成CRUD配合视频教程观看,更易学习理解,课程讲解从Mybatis的一些核心要点与实战中的运用,一直过渡到MyBaits源码,由表及里的代入架构思维。一步一案例,一码一实操。......
  • Mybatis-lesson5-属性及别名-2023-3-10
    属性文件:resources-> db.propertiesdriver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=U......
  • Mybatis 源码(二):整体设计概览
    1、Mybatis整体架构Mybatis的整体框架分为三层,分别是基础支持层、核心处理层、和接口层。 1.1、接口层SqlSession是接口层的核心对象,是应用程序与Mybatis交互......
  • Mybatis-lesson3-万能MAP-2023-3-10
    如果实体类或数据库中太多参数,我们应该考虑用MAPintaddUser2(Map<String,Object>map);Mapper.xml<insertid="addUser2"parameterType="map">insertinto......
  • Mybatis+Oracle 返回自增字段值
    <insertuseGeneratedKeys="true"keyProperty="id"keyColumn="id"></insert>#useGeneratedKeys需要数据库本身支持字段自增的<insertid="insertUser"parameterTyp......