标题: [文本处理] [已解决]根据两个文本对应行的关系,替换成新的文本? [打印本页]
作者: 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
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=. tokens=2" %%i in (web.txt) do (
- for /f "delims=" %%j in ('findstr /c:"%%i" web.txt') do (
- for /f "delims=" %%a in ('findstr /c:"%%i" h.txt') do (
- set "x=%%j"
- set y=!x: http://www.%%i.com/=%%~da\2011\%%i\!
- set z=!y: http://pc.%%i.com/=%%~da\2011\%%i\!
- set z1=!z:/=\!
- echo !z1!>>13.txt)))
- for /f "delims=" %%i in (13.txt) do (
- if not defined %%i set %%i=A && echo %%i>>news.txt)
- del 13.txt
- pause
复制代码
看高手帮你解。我的你先用用看吧。。。
作者: tmplinshi 时间: 2011-1-18 12:57
- @echo off
- SetLocal EnableDelayedExpansion
- set /a n = 0, m = 0
-
- for /f "delims=/ tokens=2,*" %%a in (web.txt) do (
- set /a n += 1
- set _!n!=%%b
- )
-
- (for /f "delims=" %%L in (h.txt) do (
- set /a m += 1
- for %%R in (_!m!) do set var=%%~fL!%%R!
- echo !var:/=\!
- )) >news.txt
复制代码
[ 本帖最后由 tmplinshi 于 2011-1-18 12:58 编辑 ]
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |