批处理修改xml内容?

需要写一个批处理文件,想把1.XML文件里面的<?xml version="1.0" encoding="GB2312"?>,其中的GB2312修改成UTF-8,然后文件另存为2.XML,然后删除1.XML,最后将2.XML更名为1.XML

不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行

@echo off
rem 将gb2312编码的xml文件转换成utf-8编码
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "oldfile=1.xml"
set "newfile=2.xml"
powershell -NoProfile -ExecutionPolicy bypass ^
    $text=[IO.File]::ReadAllText('%oldfile%',[Text.Encoding]::GetEncoding('GB2312'));^
    $text=$text -replace '(?^<=encoding=\")[^^\"]+','UTF-8';^
    [IO.File]::WriteAllText('%newfile%', $text, [Text.Encoding]::UTF8);
echo;%#% +%$%%$%/%@% %z%
pause
exit

追问

就是说第1步还是需要手动把原文件开始的GB2312改为UTF-8然后另存为UTF-8的2.xml?

追答

不需要,按运行后窗口标题栏中的提示联系我

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-23

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网