中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]求助:批处理制作一个网页分页项
« [1] [2] »
作者:
标题: [已结]求助:批处理制作一个网页分页项 上一主题 | 下一主题
ganjie
初级用户





积分 49
发帖 37
注册 2007-5-8
状态 离线
『第 16 楼』:  

问一下,如果要改,如
D   第一页A   B2 C3 D4 E5 F6  4/19   最后一页S
E   第一页A   C3 D4 E5 F6 G7   5/19  最后一页S
F   第一页A   D4 E5 F6 G7 H8  6/19   最后一页S

改成:
D   第一页A   B2 C3 当前页面:D4 E5 F6  4/19   最后一页S
E   第一页A   C3 D4 当前页面:E5 F6 G7   5/19  最后一页S
F   第一页A   D4 E5 当前页面:F6 G7 H8  6/19   最后一页S

可以改成这个样子的吗?就是在本页前加个 '当前页面',我曾试图改你上面的代码,但发现这是不可能的,除非要改个算法.

2009-2-5 10:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 17 楼』:  



  Quote:
Originally posted by ganjie at 2009-2-4 03:17 AM:
谢谢netbenton还特意上传文件,偶自己认真的测试了,拖目录后批处理窗口一下子还是就消失了,里面的htm一个也没有内容变化,确实是没有什么反应!可以 ...

嘿嘿



49206C6F766520796F752067757973 54656C3A3133383238343036373837
2009-2-5 18:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 18 楼』:  

找到这三个地方:
1.        set xn=0
2.        set/a ms+=1,mb+=1
3.        if not defined fn%2 (set "pr=<td scope="col"><a href="!fn%1!">%1</a></td>"&!echo !pr!&set/a xn+=1)

改成:
1.        set xn=0&set "dqym%%a=当前页面:"
2.        set/a ms+=1,mb+=1&set dqym%%a=
3.        if not defined fn%2 (set "pr=<td scope="col"><a href="!fn%1!">!dqym%1!%1</a></td>"&!echo !pr!&set/a xn+=1)

[ Last edited by netbenton on 2009-2-5 at 19:44 ]



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-2-5 19:43
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
ganjie
初级用户





积分 49
发帖 37
注册 2007-5-8
状态 离线
『第 19 楼』:  

原来是这样子改就行了,我本以为加入当前链接后,肯定要修改算法,这样我就可以自行修改当前页面这项了,
如C 文件的分页项如下:
<table widtd="500" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td scope="col"><a href="A.htm">第一页</a></td>
    <td scope="col"><a href="B.htm">上一页</a></td>
    <td scope="col"><a href="A.htm">1</a></td>
    <td scope="col"><a href="B.htm">2</a></td>
    <td scope="col"><a href="C.htm">3</a></td>
    <td scope="col"><a href="D.htm">4</a></td>
    <td scope="col"><a href="E.htm">5</a></td>
    <td scope="col"><a href="F.htm">下一页</a></td>
    <td scope="col">3/19</td>
    <td scope="col"><a href="S.htm">最后一页</a></td>
  </tr>
</table>
这样我就可以把当前页这段  <td scope="col"><a href="C.htm">3</a></td>
改为 <strong>3</strong> 这是为了css需要的,如何才改成这样子?

2009-2-6 08:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 20 楼』:  

真希望楼主能把问题一次讲清楚。。。

再把第三行改成这样,就可以了。
        if not defined fn%2 (
                if defined dqym%1 (set "pr=<td scope="col"><strong>%1</strong></td>") else (set "pr=<td scope="col"><a href="!fn%1!">%1</a></td>")
                echo !pr!&set/a xn+=1
        )

   此帖被 +2 点积分    点击查看详情   
评分人:【 HAT 分数: +2  时间:2009-2-6 13:51




精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-2-6 09:04
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
ganjie
初级用户





积分 49
发帖 37
注册 2007-5-8
状态 离线
『第 21 楼』:  

不好意思,抱歉!我本来就已经早该完结了,可是为了更美观,就用上了css样式,所以……,费话少说,试验了一下,成功,谢谢,非常感谢!

2009-2-6 09:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 22 楼』:  

楼主补充了新问题:

相互链接的文件由5个改为n个:
@echo off
::在 %1 指定要处理的目录,如果所给目录不存在或不指定,则处理当前目录。
if '%1'=='#benton#' goto :bengin
if not '%1==' pushd %1
for /f "tokens=* delims=" %%a in ('dir /ad /s /b^&cd') do (
        pushd %%a
        call %0 #benton#
        popd
)
if not '%test%=='t echo 目录"%cd%"下找不到任何*.htm文件
if not '%1==' popd
pause
goto :eof

:bengin
if not exist *.htm goto :eof
set test=t&echo.
if exist chmchm.abc echo 目录"%cd%"已有chm,本次跳过,&echo.如果要重加,请把该目录的chmchm.abc删除后,再试。&goto :eof
echo 目录%cd%
echo.>chmchm.abc
setlocal enabledelayedexpansion

set "num=7" 在这里定义项数,多少项都可以
set "fg=<td scope="col">.</td>" 这里定义分隔符


set/a n=0
for %%a in (*.htm) do (
        set /a n+=1
        set fn!n!=%%a
)

set "z1=<table widtd="500" border="0" align="center" cellpadding="0" cellspacing="0">"
set "z2=<tr>"
set "z3=<td scope="col"><a href="!fn1!">第一页</a></td>"
set "z8=<td scope="col"><a href="!fn%n%!">最后一页</a></td>"
set "z9=</tr>"
set "z10=</table>"

if !n! gtr 1 goto :noly

(echo !z1!&echo !z2!
set "z5=<td scope="col"><a href="!fn1!">1</a></td>"
set "z7=<td scope="col">1/1</td>"
echo !z5!&echo !z7!&echo !z9!&echo !z10!)>>!fn1!
goto :eof

:noly 不止一个文件
for /l %%a in (1,1,!n!) do (
    echo 正在写入文件: !fn%%a!
    set "z7=<td scope="col">%%a/!n!</td>"
        set/a pup=%%a-1,pdo=%%a+1
        (echo;!z1!&echo;!z2!&echo;!z3!

        call :save %%a

        echo;!z7!&echo;!z8!&echo;!z9!&echo;!z10!)>>!fn%%a!
)
endlocal
echo 写入完成
pause
goto :eof

:save
if defined fn%pup% set "z4=<td scope="col"><a href="!fn%pup%!">上一页</a></td>"&echo !z4!
echo !fg!
set/a sn=0,ms=%1-num,mb=%1+num-1,nun=num/2+1,mmm=0
for /l %%a in (!ms!,1,!mb!) do (
        set/a xn=%%a+num,mmm+=1
       
        set yy=
        if not defined fn!xn! (set yy=1) else (
                if !mmm! gtr !nun! set yy=1
        )
       
        if defined fn%%a (
        if defined yy (
                        set "pr=<td scope="col"><a href="!fn%%a!">%%a</a></td>!fg!"
                       
                        if %%a equ %1 set "pr=<td >%%a</td>!fg!"
                        rem 这句使当前项免去链接,如果不需要,可以删除。
                       
                        echo !pr!
                        set/a sn+=1
                )
        )
        if !sn! equ !num! goto :ok
)
:ok
if defined fn%pdo% set "z6=<td scope="col"><a href="!fn%pdo%!">下一页</a></td>"&echo !z6!


   此帖被 +2 点积分    点击查看详情   
评分人:【 ganjie 分数: +2  时间:2009-10-9 12:20




精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-10-9 08:08
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: