背景:帮群里一哥们儿写的。
bug:
1.起初被编码问题搞得晕头转向,后面看到那家伙用的for循环来输出,完美解决了输出的编码问题。
2.chcp 65001修改代码页解决了bat下对utf-8编码出现乱码的bug。
核心命令:还是靠智能的if判断,一步解决核心问题。
运行结果:运行后输出到bat目录下的new.csproj中,经过文本比对,无任何bug替换指定内容成功。
bug:
1.起初被编码问题搞得晕头转向,后面看到那家伙用的for循环来输出,完美解决了输出的编码问题。
2.chcp 65001修改代码页解决了bat下对utf-8编码出现乱码的bug。
核心命令:还是靠智能的if判断,一步解决核心问题。
源码如下:
@echo off
del new.csproj
chcp 65001>nul
title utf-8编码下替换指定文本内容
for /f "delims=" %%a in (Unity3DPerfAnalyzerSDK.Plugins.csproj) do (
if "%%a"==" <AssemblyName>Assembly-CSharp-firstpass</AssemblyName>" (
echo ^<AssemblyName^>Unity3DPerfAnalyzer^</AssemblyName^>>>new.csproj
) else (
echo %%a>>new.csproj
)
)
set /p=success.
运行结果:运行后输出到bat目录下的new.csproj中,经过文本比对,无任何bug替换指定内容成功。