使用批处理for处理文本中的字符串替换
for%%iin(*.txt)多个文本文件都包含Object{uuid=0,id="16246",title="嘻哈呀1",更多...}1Object{uuid=0,id...
for %%i in(*.txt)
多个文本文件 都包含
Object { uuid=0, id="16246", title="嘻哈呀1", 更多...}
1
Object { uuid=0, id="11295", title="嘻哈呀2", 更多...}
2
Object { uuid=0, id="11302", title="嘻哈呀3", 更多...}
3
怎么才能把字符串Object { uuid=0, id=" 替换成字符串 <a href=http://www.cmos.com/source/getfile?id=
并生成new%%i.txt
1楼的答案我早就已经试过了,不行,不过谢谢, 展开
多个文本文件 都包含
Object { uuid=0, id="16246", title="嘻哈呀1", 更多...}
1
Object { uuid=0, id="11295", title="嘻哈呀2", 更多...}
2
Object { uuid=0, id="11302", title="嘻哈呀3", 更多...}
3
怎么才能把字符串Object { uuid=0, id=" 替换成字符串 <a href=http://www.cmos.com/source/getfile?id=
并生成new%%i.txt
1楼的答案我早就已经试过了,不行,不过谢谢, 展开
2个回答
展开全部
@echo off & setlocal enabledelayedexpansion
set /p var=请输入替换名称
for /f "tokens=*" %%i in (1.txt) do (
if "%%i"=="" (echo.) else (set "line=%%i" & call :chg)
)>>new_1.txt
pause
exit
set "line=!line:123456=%var%!"
echo !line!
goto :eof
将1.txt文件里的123456替换为指定内容
以下为替换多个内容
@echo off & setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (1.txt) do (
if "%%i"=="" (echo.) else (set "line=%%i" & call :chg)
)>>new_1.txt
pause
exit
:chg
rem 这个是保留空行
set "line=!line:1=a!"
rem 第一个替换。。。1变成a
set "line=!line:2=B!"
rem 第二个替换。。。2换成B.....
set "line=!line:3=C!"
rem 第三个。
set "line=!line:4=D!"
rem 第四个。。。
echo !line!
goto :eof
展开全部
'不知道你是要练习bat技巧呢还是要解决实际问题,要是想解决问题,我用vbs应该也没事吧
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
findstr="Object { uuid=0, id="'要查找的文本
repstr="<a href=
用来替换的文本
Set fd = fso.GetFolder(".")'当前文件夹
Set fs = fd.Files
for Each f in fs
fext=LCase(Right(f.Name,4))'后缀
If fext=".txt" then
fname=left(f.name,len(f.name)-4)'文件名
Set f=fso.OpenTextFile(f,1)
str=f.ReadAll
f.Close
rs=Replace(str,findstr,repstr,1)
Set fnew=fso.CreateTextFile("new"&fname&".txt",1)
fnew.Write(rs)
fnew.Close
End If
Next
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询