Board logo

标题: [文本处理] [已解决]根据两个文本对应行的关系,替换成新的文本? [打印本页]

作者: ik22    时间: 2011-1-18 12:42     标题: [已解决]根据两个文本对应行的关系,替换成新的文本?

哥们,我有一个文本web.txt  里面记了好多个网址,都是.html结尾的  
如:  
http://www.qq.com/1012/005/135.html
http://pc.dv.com/1012/005/235.html
http://www.poq.com/1012/005/1235.html
http://www.163.com/1012/005/135.html

而文本h.txt 如下:
d:\2011\qq\  
e:\2011\dv\
f:\2011\poq\
f:\2011\163\

我现在就是想把 web.txt 的网址,变成真实的路径写在news.txt下  结果是这样的:
d:\2011\qq\1012\005\135.html
e:\2011\dv\1012\005\235.html
f:\2011\poq\1012\005\1235.html
f:\2011\163\1012\005\135.html

请问这批处理怎样写,比较好?

[ 本帖最后由 ik22 于 2011-1-18 19:18 编辑 ]
作者: yhcbird    时间: 2011-1-18 12:49

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=. tokens=2" %%i in (web.txt) do (
  4. for /f "delims=" %%j in ('findstr /c:"%%i" web.txt') do (
  5. for /f "delims=" %%a in ('findstr /c:"%%i" h.txt') do (
  6. set "x=%%j"
  7. set y=!x: http://www.%%i.com/=%%~da\2011\%%i\!
  8. set z=!y: http://pc.%%i.com/=%%~da\2011\%%i\!
  9. set z1=!z:/=\!
  10. echo !z1!>>13.txt)))
  11. for /f "delims=" %%i in (13.txt) do (
  12. if not defined %%i set %%i=A && echo %%i>>news.txt)
  13. del 13.txt
  14. pause
复制代码


看高手帮你解。我的你先用用看吧。。。
作者: tmplinshi    时间: 2011-1-18 12:57

  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. set /a n = 0, m = 0
  4. for /f "delims=/ tokens=2,*" %%a in (web.txt) do (
  5.     set /a n += 1
  6.     set _!n!=%%b
  7. )
  8. (for /f "delims=" %%L in (h.txt) do (
  9.     set /a m += 1
  10.     for %%R in (_!m!) do set var=%%~fL!%%R!
  11.     echo !var:/=\!
  12. )) >news.txt
复制代码

[ 本帖最后由 tmplinshi 于 2011-1-18 12:58 编辑 ]




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2