本帖最后由 caruko 于 2011-4-29 16:53 编辑
发一个取【】内容的代码吧,鉴于【】都在一行,所以没有多做分析。
但就算【】内容分做2行,IF里面加一句判断 !cut:~-1!==$ 就可以了。
抓取网页内容,前面已说了方法,第三方的话更简单,就不写了。
去掉了多余的CALL。
去重只是简单的当前这句跟上一句对比,如果包含在上一句内,就不输出,并且下一句对比时忽略这一句,跟上上句对比。- @echo off&setlocal enabledelayedexpansion
- for /f "usebackq delims=" %%i in ("viewthread[2].txt") do (
- set "str=%%~i"
- if not "!str:【=!" == "!str!" (
- set "str=!str:【=" "#!"
- set "str=!str:】=" "$!"
- for %%i in ("!str!") do (
- set "cut=%%~i"
- if "!cut:~0,1!"=="#" if !flag! equ 1 (
- set "s_new=!cut:~1!"
- ) else (
- set flag=1
- set "s_old=!cut:~1!"
- set "s_new=!cut:~1! "
- )
- for /f "delims=" %%S in ("!s_new!") do if "!s_old:%%S=#!"=="!s_old!" echo %%S&set "s_old=!s_new!"
- )
- )
- )
- pause>nul&goto :eof
复制代码
|