Board logo

标题: 【已结】获得文件第69行到倒数第二行间的内容 [打印本页]

作者: asnahu     时间: 2009-6-27 21:34    标题: 【已结】获得文件第69行到倒数第二行间的内容

如题。现在有一千多个网页文件,想删除其中多余的网页标记和脚本代码,通过观察发现从第69行到倒数第二行是正文内容,文件分别位于同一个目录下的不同文件夹下,请问批处理如何实现?:)

初步代码如下:
@echo off
setlocal enabledelayedexpansion
for /r %%i in (*.html) do (
    set/a n=!n!+1
    for /f "delims=" %%a in ('type %%i^|sed -n "69,$p"^|sed "$d"')  do (
    echo %%a>>%%~dpi!n!.html
    )
)

pause
新的代码:
@echo off
setlocal enabledelayedexpansion
for /r %%i in (*.html) do (
    set/a n=!n!+1
    for /f "delims=" %%a in ('type %%i^|sed -n "69,$p"^|sed "$d"^|sed "s/^</<html>\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text\/html^; charset^=GB2312\">\n  <title><\/title>\n  <style><\/style>\n<body>\n</"') do (
    echo %%a>>%%~dpi!n!.html
    )
)

pause
补充:以上代码基本解决问题,但网页中的charset标记被去掉了,所以现在打开生成的网页都是“西方”,请问如何保留原来的编码?{解决}

[ Last edited by asnahu on 2009-6-28 at 21:39 ]
附件 1: process.7z (2009-6-27 23:25, 8.06 K,下载次数: 5)

作者: Hanyeguxing     时间: 2009-6-28 00:02
解析文件时保留第2行,并按语法补全
作者: lxmxn     时间: 2009-6-28 00:17
调整浏览器的编码类型,自动或者GB2312。
作者: yishanju     时间: 2009-6-29 00:35
尝试改进代码以适应需要就对了