用批处理替换文本中【】中括号之间的内容。。就是完成不了功能,如何修改。。。

@echooffecho开始替换?pausesetold=asetnew=tempsetlocalenabledelayedexpansionfor/f"delims="... @echo offecho 开始替换?
pause
set old=a
set new=tempsetlocal enabledelayedexpansionfor /f "delims=" %%a in (%old%.txt) do ( set aa=%%a set aa=!aa:"[*]"=""! echo !aa!>>%new%.txt)del %old%.txtren "%new%.txt" "%old%.txt"echo 替换完成!
pause
展开
 我来答
匿名用户
2013-08-25
展开全部
用bat来完成文本的替换有点“力不从心”,不是说他完成不了这样的工作。至少总有些缺憾。或是效率极低。下面是我写的歌vbs替换代码可以做正则表达式的匹配高级替换:如,替换“[]”里面的内容为[aa]msgbox "请选择你要操作的文件:"
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "All Files|*.*"
objDialog.InitialDir = "c:\"
intResult = objDialog.ShowOpen If intResult = 0 Then
Wscript.Quit
Else
string1=inputbox("请输入要被替换的字符串","被搜索的字符","\[.*\]")
if ""=string1 then: wscript.quit:end if
string2=inputbox("替换为:",,"[aa]")
set regEx=new regexp
regEx.ignorecase=false
regEx.global=true
regEx.Pattern=string1 set objFSO=createobject("scripting.filesystemobject")
set replacefile=objFSO.OpenTextFile(objDialog.FileName,1)
allline=replacefile.readall
set replacefile=objFSO.OpenTextFile(objDialog.FileName,2)
msgbox regEx.replace(allline,string2)
replacefile.write regEx.replace(allline,string2)
replacefile.close
End If
匿名用户
2013-08-25
展开全部
把如下内容:for /f "delims=" %%a in (%old%.txt) do (set aa=%%aset aa=!aa:"[*]"=""!echo !aa!>>%new%.txt) 替换为:for /f "tokens=1-3* delims=[]" %%i in (%old%.txt) do (set aa=%%i%%jecho !aa!>>%new%.txt)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式