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替換指定內容成功。