CODE: [Copy to clipboard]
'双击选择需要操作的目录
'支持拖放
Dim oFSO,oSHE,oDCT
Set oFSO=CreateObject("Scripting.FileSystemObject")
Set oDCT=CreateObject("Scripting.Dictionary")
Set oSHE=CreateObject("Shell.Application")
If WScript.Arguments.Count > 0 Then
userPath=WScript.Arguments(0)
Else
userPath=Selectx
End If
If oFSO.FileExists(userPath) Then
userPath=oFSO.GetParentFolderName(userPath)
End If
Set oFolder=oFSO.GetFolder(userPath)
Set oFilesC=oFolder.Files
For Each objtmp In oFilesC
If InStr(1,objtmp.Type,"html",1) >0 Then
fileCount=fileCount+1
oDCT.Add fileCount,objtmp.Name
End If
Next
For j = 1 To oDCT.Count
If (j Mod 5) = 0 Then
k=k+5
Else
i=k+1
End If
otstr=vbCrLf
otstr=otstr & "<table border=""0"" align=""center"" cellpadding=""0"" cellspacing=""15""><tr>" & vbCrLf
otstr=otstr & "<td><a href=""" & oDCT.Item(1) & """><<</a></td>" & vbCrLf
If oDCT.Exists(j-1) Then otstr=otstr & "<td><a href=""" & oDCT.Item(j-1) & """>上一页</a></td>" & vbCrLf
otstr=otstr & "<td><a href=""" & oDCT.Item(i) & """>" & i & "</a></td>" & vbCrLf
If oDCT.Exists(i+1) Then otstr=otstr & "<td><a href=""" & oDCT.Item(i+1) & """>" & i+1 & "</a></td>" & vbCrLf
If oDCT.Exists(i+2) Then otstr=otstr & "<td><a href=""" & oDCT.Item(i+2) & """>" & i+2 & "</a></td>" & vbCrLf
If oDCT.Exists(i+3) Then otstr=otstr & "<td><a href=""" & oDCT.Item(i+3) & """>" & i+3 & "</a></td>" & vbCrLf
If oDCT.Exists(i+4) Then otstr=otstr & "<td><a href=""" & oDCT.Item(i+4) & """>" & i+4 & "</a></td>" & vbCrLf
If oDCT.Exists(j+1) Then otstr=otstr & "<td><a href=""" & oDCT.Item(j+1) & """>下一页</a></td>" & vbCrLf
otstr=otstr & "<td>" & j & "/" & oDCT.Count & "</td>" & vbCrLf
otstr=otstr & "<td><a href=""" & oDCT.Item(oDCT.Count) & """>>></a></td>" & vbCrLf
otstr=otstr & "</tr></table>" & vbCrLf
Set oWrite=oFSO.OpenTextFile(userPath & "\" & oDCT.Item(j),8)
oWrite.WriteLine otstr
oWrite.Close
Next
Function Selectx
Set TMPath=oSHE.BrowseForFolder(0,"选择要修改的文件夹:",0)
'oSHE.Open TMPath
If TMPath Is Nothing Then WScript.Quit
Selectx=TMPath.Self.Path
End Function
CODE: [Copy to clipboard]
@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!