bat中替换中文字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat中替换中文字符串相关的知识,希望对你有一定的参考价值。
相对app_name的值替换,但是中文好像无法替换成功。下面是我写的:
@echo off & setlocal enabledelayedexpansion
cd D:\software\software\autopack\autopack\HPELSTK\res\values
set appname=大神支招
for /f "delims=" %%i in (strings.xml) do (
set a=%%i
set a=!a:大神求助=%appname%!
echo !a!=>>strings1.xml
)
/、<和>是特殊字符,显示它们需要用^号转义,在set命令中赋值时需要将变量名和变量值一起用双引号括起来。
@echo offfor /f "delims=" %%i in (strings.xml) do (
setlocal enabledelayedexpansion
set "a=%%i"
set "a=!a:大神求助=大神支招!"
if "!a:~0,1!" neq " " (
echo ^!a!>>strings1.xml
) else (
echo=>>strings1.xml
)
endlocal
)
echo=>t.tmp
for /f "delims=` tokens=* eol=`" %%a in (strings1.xml) do (
setlocal enabledelayedexpansion
set "a=%%a"
set "a=!a:ECHO 处于关闭状态。=!"
if "!a!"=="" (
type t.tmp>>strings2.xml
) else (
echo !a!>>strings2.xml
)
endlocal
)
del /f /q strings1.xml
del /f /q t.tmp
rename strings2.txt strings1.xml 参考技术A 在Windows自带的文档里 用替换功能 不是比批处理更快吗
bat文件中如何查找某个字符串并对其进行替换
比如abc.ini中有一个字符串g_istest=YES,怎么编写一个bat文件,实现查找这个字符串,并把YES替换为NO,bat菜鸟求大神指点,谢谢!
参考技术A Dim strFile: strFile = "c:\1.txt" Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject") Dim objFile: Set objFile = FSO.OpenTextFile(strFile) Dim strContent: strContent = objFile.Readall objFile.Close Dim objRegEx: Set objRegEx = CreateObject("VBScript.RegExp") objRegEx.Global = True objRegEx.IgnoreCase = True objRegEx.Pattern = "bxn" Dim objNewText: objNewText = objRegEx.Replace(strContent,"trg") Dim objTextFile: Set objTextFile = FSO.CreateTextFile("c:\op.vbs") objTextFile.Write objNewText Wscript.Quit以上是关于bat中替换中文字符串的主要内容,如果未能解决你的问题,请参考以下文章
在 .bat 文件中使用 PowerShell,将一个字符串替换为多个字符串