zoukankan      html  css  js  c++  java
  • 利用计划任务和VBS脚本实现自动WEB共享文件夹里的文件

    其实没有题目写得那么复杂,就是用计划任务每隔一段时间调用VBS脚本,刷新生成一个文件列表文件用于WEB服务调用。

    Option Explicit
    On Error Resume Next

    '生成列表的文件类型
    Const sListFileType = "wmv,rm,wma"

    '文件所在的相对路径
    Const sShowPath="."

    '排序类型的常量定义
    Const iOrderFieldFileName = 0
    Const iOrderFieldFileExt = 1
    Const iOrderFieldFileSize = 2
    Const iOrderFieldFileType = 3
    Const iOrderFieldFileDate = 4

    '排序顺逆的常量定义
    const iOrderAsc = 0
    const iOrderDesc = 1

    '生成列表的文件数量
    const iShowCount = 20


     
    '显示的日期格式函数
    Function Cndate2(date1,intDateStyle)
     dim strdate,dDate1
        strdate=cstr(date1)
        If Isdate(strdate) Then
            If Left(cstr(strdate),1)="0" Then
                dDate1=Cdate("20"+cstr(strdate))
            else
                dDate1=Cdate(strdate)
            End If
        Else
          dDate1=Now()
        End If
        Select case intDateStyle
        Case 1:
         Cndate2 = Cstr(Year(dDate1))+"-"+Cstr(Month(dDate1))+"-"+Cstr(Day(dDate1))
        Case 2:
         Cndate2 = Cstr(Month(dDate1))+"-"+Cstr(Day(dDate1))
        Case 3:
         Cndate2 = Cstr(Month(dDate1))+"月"+Cstr(Day(dDate1))+"日"
        Case 4:
         Cndate2 = Cstr(year(dDate1))+"年"+ Cstr(Month(dDate1))+"月"+Cstr(Day(dDate1))+"日"
        End Select
    End Function


    Function ListFile(strFiletype,intCompare,intOrder,intShowCount)
     Dim sListFile
     Dim fso, f,  f1,  fc, s,ftype,fcount,i,j,k
     Dim t1,t2,t3,t4,t5
     Dim iMonth,iDay
     sListFile = ""
     Set fso = CreateObject("Scripting.FileSystemObject")
     Set f = fso.GetFolder(sShowPath)
     Set fc = f.Files
     fcount = fc.count
     redim arrFiles(fcount,5)
     redim arrFiles2(fcount,5)
     i=0
    '排序
     For Each f1 in fc
      ftype = right(f1.name,len(f1.name)-instrrev(f1.name,"."))
      arrFiles(i,0) = f1.name
      arrFiles(i,1) = ftype
      arrFiles(i,2) = f1.size
      arrFiles(i,3) = f1.type
      arrFiles(i,4) = f1.DateLastModified
      i=i+1
     Next
     For i=0 to fcount-1
      for j=i+1 to fcount-1
       select Case intCompare
       Case iOrderFieldFileName,iOrderFieldFileExt,iOrderFieldFileType:
        If arrFiles(i,intCompare)>arrFiles(j,intCompare) then
         t1 = arrFiles(i,0)
         t2 = arrFiles(i,1)
         t3 = arrFiles(i,2)
         t4 = arrFiles(i,3)
         t5 = arrFiles(i,4)

         arrFiles(i,0) = arrFiles(j,0)
         arrFiles(i,1) = arrFiles(j,1)
         arrFiles(i,2) = arrFiles(j,2)
         arrFiles(i,3) = arrFiles(j,3)
         arrFiles(i,4) = arrFiles(j,4)

         arrFiles(j,0) = t1
         arrFiles(j,1) = t2
         arrFiles(j,2) = t3
         arrFiles(j,3) = t4
         arrFiles(j,4) = t5
        end if
       Case iOrderFieldFileSize:
        If cdbl(arrFiles(i,intCompare))>cdbl(arrFiles(j,intCompare)) then
         t1 = arrFiles(i,0)
         t2 = arrFiles(i,1)
         t3 = arrFiles(i,2)
         t4 = arrFiles(i,3)
         t5 = arrFiles(i,4)

         arrFiles(i,0) = arrFiles(j,0)
         arrFiles(i,1) = arrFiles(j,1)
         arrFiles(i,2) = arrFiles(j,2)
         arrFiles(i,3) = arrFiles(j,3)
         arrFiles(i,4) = arrFiles(j,4)

         arrFiles(j,0) = t1
         arrFiles(j,1) = t2
         arrFiles(j,2) = t3
         arrFiles(j,3) = t4
         arrFiles(j,4) = t5
        end if
       Case iOrderFieldFileDate:
        If Cdate(arrFiles(i,intCompare))>Cdate(arrFiles(j,intCompare)) then
         t1 = arrFiles(i,0)
         t2 = arrFiles(i,1)
         t3 = arrFiles(i,2)
         t4 = arrFiles(i,3)
         t5 = arrFiles(i,4)

         arrFiles(i,0) = arrFiles(j,0)
         arrFiles(i,1) = arrFiles(j,1)
         arrFiles(i,2) = arrFiles(j,2)
         arrFiles(i,3) = arrFiles(j,3)
         arrFiles(i,4) = arrFiles(j,4)

         arrFiles(j,0) = t1
         arrFiles(j,1) = t2
         arrFiles(j,2) = t3
         arrFiles(j,3) = t4
         arrFiles(j,4) = t5
        end if
       End Select
      next
     next
    '生成列表
       sListFile = sListFile + ("<table cellpadding=0 cellspacing=0 width=100% align=center class=""PageListTable"" style=""BEHAVIOR: url(images/sort2.htc); "">")
       sListFile = sListFile + ("<THEAD><Tr class=PageListTitleTr><Td class=PageListTitleTd>")
       sListFile = sListFile + ("名称")
       sListFile = sListFile + ("</td><Td class=PageListTitleTd>")
       sListFile = sListFile + ("媒体")
       sListFile = sListFile + ("</td><Td class=PageListTitleTd>")
       sListFile = sListFile + ("大小")
       sListFile = sListFile + ("</td><Td class=PageListTitleTd>")
       sListFile = sListFile + ("类型")
       sListFile = sListFile + ("</td><Td class=PageListTitleTd ID=updatetime>")
       sListFile = sListFile + ("更新时间")
       sListFile = sListFile + ("</td></Tr></THEAD>")
       dim iLoopStart,iLoofEnd,iLoopStep
     If intOrder = 0 then
      iLoopStart = 0
      iLoofEnd = fcount-1
      iLoopStep = 1
     Else
      iLoopStart = fcount-1
      iLoofEnd = 0
      iLoopStep = -1
     End if
     dim iCount,sTDStyleClass
     iCount = 1
     For j=iLoopStart to iLoofEnd Step iLoopStep
      If instr(strFiletype,arrFiles(j,1))>0 and iCount<=intShowCount then
       sTDStyleClass = "PageListTd"+Cstr((iCount mod 2)+1)
          sListFile = sListFile + ("<Tr class=PageListTr><Td class="+sTDStyleClass+">")
          sListFile = sListFile + ("<img src=images/"+arrFiles(j,1)+".gif align=absbottom><img src=b.gif width=2 height=0><a href=" & sShowPath & "/" & CStr(arrFiles(j,0)) &">" & arrFiles(j,0) &"</a>")
          If datediff("h",arrFiles(j,4),now)<=24 then
           sListFile = sListFile + "<img src=images/new.gif align=absmiddle>"
          end if
          sListFile = sListFile + "</td><Td class="+sTDStyleClass+">"
          sListFile = sListFile + ("<a href=" & sShowPath & "/" & CStr(arrFiles(j,0)) &">")
    '根据文件名规则,生成中文提示
          select case left(arrFiles(j,0),3)
          case "sc2":
           sListFile = sListFile + "<font color=#AA0000>四川卫视 "
          case "sd2":
           sListFile = sListFile + "<font color=#00AA00>山东卫视 "
          case "gd2":
           sListFile = sListFile + "<font color=#0000AA>广东卫视 "
          case "gx2":
           sListFile = sListFile + "<font color=#AAAA00>广西卫视 "
          end select
    '日期显示
          If isnumeric(left(right(arrFiles(j,0),8),2)) then
           iMonth = cint(left(right(arrFiles(j,0),8),2))
           iDay = cint(left(right(arrFiles(j,0),6),2))
           sListFile = sListFile + cstr(iMonth)+"月" + cstr(iDay)+"日"
           sListFile = sListFile + ("</a></td><Td class="+sTDStyleClass+" align=right>")
          Else
           response.write arrFiles(j,0)
          end if
          If arrFiles(j,2)>1024*1024 then
          sListFile = sListFile + cstr(round(arrFiles(j,2)/1024/1024))
          sListFile = sListFile + ("MB")
          else
          sListFile = sListFile + cstr(round(arrFiles(j,2)/1024))
          sListFile = sListFile + ("KB")
          end if
          sListFile = sListFile + ("&nbsp;</td>")
          sListFile = sListFile + ("<Td class="+sTDStyleClass+">")
          sListFile = sListFile + cstr(arrFiles(j,3))
          sListFile = sListFile + ("</td>")
          sListFile = sListFile + ("<Td class="+sTDStyleClass+">")
          sListFile = sListFile + (Cndate2(arrFiles(j,4),4))
          sListFile = sListFile + ("</td>")
          sListFile = sListFile + ("</Tr>")
       iCount = iCount+1
      end if
     next
     sListFile = sListFile +  "</table>"
     ListFile = sListFile
    End Function

    '生成调用文件的过程
    Sub ShowFileListContent()
     Dim tUpdatetime,sUpdateContent

     Dim fso,f,f_js,f_js_write
     Set fso = CreateObject("Scripting.FileSystemObject")
     Set f = fso.GetFolder(sShowPath)
     Set f_js = fso.GetFile("list.js")
     
    '比较调用文件与文件夹的最后修改时间 
     If f.DateLastModified<>f_js.DateLastModified then
      sUpdateContent = ListFile(sListFileType,iOrderFieldFileDate,iOrderDesc,iShowCount)
      Set f_js_write = fso.CreateTextFile("list.js", True)
    'JS调用就加上下面这对document.write
    '  f_js_write.Write ("document.write('")
      f_js_write.Write (sUpdateContent)
    '  f_js_write.Write ("')")
      f_js_write.Close
     End If
    End Sub

    Call ShowFileListContent()

  • 相关阅读:
    使用element-ui是下拉筛选选择
    vue 组件传值
    vue element 地址联动的使用
    vux scroller
    实时监听组件中路由的变化
    vuex的使用
    对移动端滚动高度的获取
    【转】ACM 取石子问题
    【转】ACM博弈知识汇总
    EOJ 2857 编辑距离
  • 原文地址:https://www.cnblogs.com/gpwzw/p/12147508.html
Copyright © 2011-2022 走看看