中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理 多个查找容 在多个文件中 同时查找替换
作者:
标题: 批处理 多个查找容 在多个文件中 同时查找替换 上一主题 | 下一主题
gigigaga
新手上路





积分 12
发帖 3
注册 2007-2-28
状态 离线
『楼 主』:  批处理 多个查找容 在多个文件中 同时查找替换

供大家,参考, 改进  (批处理运行后,出现的问题: 替换后" ! " 符号丢失)
-------------------------------------------------

rem 以下批处理可以实现 在多个文件中同时查找多个内容 并同时替换多个内容

rem 将如下批处理文件保存为: rp.bat, 再运行: cmd /v:on /c rp.bat
rem 本人在XP下测试通过

@echo on
setlocal
set DPATH=c:\test
set FILETYPE=*.txt

rem 查找内容
set SCONTENT1=AAAAAAAA
set SCONTENT2=BBBBB
set SCONTENT3=BBB
set SCONTENT4=AAA1
set SCONTENT5=AAA2
set SCONTENT6=AAA3
set SCONTENT7=AAA4
set SCONTENT8=AAA5
set SCONTENT9=AAA6
set SCONTENT10=AAA7
set SCONTENT11=AAA8
set SCONTENT12=AAA9
set SCONTENT13=AAA10
set SCONTENT14=AAA11
set SCONTENT15=AAA12
set SCONTENT16=TTTTTT
set SCONTENT17=bigdottt

rem 替换内容, 一一对应上面的替换
set DCONTENT1="abc def"
set DCONTENT2=houses
set DCONTENT3=jj
set DCONTENT4="Mobile Tele"
set DCONTENT5="Telone"
set DCONTENT6=Intene
set DCONTENT7=Table
set DCONTENT8="Doctor Ss"
set DCONTENT9=Furnishings
set DCONTENT10=Tool
set DCONTENT11=Glas
set DCONTENT12=Telescope
set DCONTENT13=Camera
set DCONTENT14="Toily Series"
set DCONTENT15="Other Ts"
set DCONTENT16=ffff
set DCONTENT17=......

set TMPFILE=%random%.tmp

for /r %DPATH% %%i in ( %FILETYPE% ) do (
    if exist %TMPFILE% ( del /f/q %TMPFILE% )
    for /f "tokens=*" %%j in ('type "%%i"') do (
      set ATMP=%%j
      set "ATMP= !ATMP:%SCONTENT1%=%DCONTENT1%!"
      set "ATMP= !ATMP:%SCONTENT2%=%DCONTENT2%!"
      set "ATMP= !ATMP:%SCONTENT3%=%DCONTENT3%!"
      set "ATMP= !ATMP:%SCONTENT4%=%DCONTENT4%!"
      set "ATMP= !ATMP:%SCONTENT5%=%DCONTENT5%!"
      set "ATMP= !ATMP:%SCONTENT6%=%DCONTENT6%!"
      set "ATMP= !ATMP:%SCONTENT7%=%DCONTENT7%!"
      set "ATMP= !ATMP:%SCONTENT8%=%DCONTENT8%!"
      set "ATMP= !ATMP:%SCONTENT9%=%DCONTENT9%!"
      set "ATMP= !ATMP:%SCONTENT10%=%DCONTENT10%!"
      set "ATMP= !ATMP:%SCONTENT11%=%DCONTENT11%!"
      set "ATMP= !ATMP:%SCONTENT12%=%DCONTENT12%!"
      set "ATMP= !ATMP:%SCONTENT13%=%DCONTENT13%!"
      set "ATMP= !ATMP:%SCONTENT14%=%DCONTENT14%!"
      set "ATMP= !ATMP:%SCONTENT15%=%DCONTENT15%!"
      set "ATMP= !ATMP:%SCONTENT16%=%DCONTENT16%!"
      set "ATMP= !ATMP:%SCONTENT17%=%DCONTENT17%!"
       echo !ATMP! >>%TMPFILE%
    )
    move /y %TMPFILE%  %%i
)
endlocal
----------------------

[ Last edited by gigigaga on 2007-3-5 at 05:21 PM ]

2007-3-6 06:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: