网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 vbs实现只复制比目标文件更新的文件
内容
    有时候我们需要时候备份一些文件,只有当这个文件被修改了并且不是空的时候才复制.
    因为网站需要频繁的更新首页,有时候使用cdn经常导致首页正在生成内容的时候同步数据(可能是冲突,经常导致首页是空的),这就想了先生成一个不是首页的index2.htm然后再复制一遍为index.htm,这样index2的频繁读写也没问题了。所以先判断index2.htm不是空的时候才复制,而且必须是比index.htm更新的时候才复制。这样就需要一些脚本的支持了。
    前几天写了一个(bat+xcopy实现只复制比目标文件更新的文件)还是出现为空的情况,这里特加些功能,参考很多网站的文章,感谢百度的结果很给力。
    先来个bat版的
    代码如下:
    @echo off
    ::每5分钟复制以下首页
    for /f %%i in ('dir /b c:\index2.htm') do (
    set indexdx=%%~zi
    )
    if %indexdx% gtr 5120 (
    echo y | xcopy c:\index2.htm /d /r /k c:\index.htm
    )
    其中for /f %%i in ('dir /b c:\index2.htm') do ( set indexdx=%%~zi ) 是bat中获取index2.htm文件大小的。
    然后通过if %indexdx% gtr 5120 ( 实现判断是不是大于5120个字节主要就是下面这个代码了功能更强,也比较简单.
    代码如下:
    dim fso
    set fso = createobject(scripting.filesystemobject)
    set fn2=fso.getfile(c:\index2.htm)
    flsize2=fn2.size
    fldate2=fn2.datelastmodified
    set fn=fso.getfile(c:\index.htm)
    flsize1=fn.size
    fldate1=fn.datelastmodified
    if fso.fileexists(c:\index2.htm) and flsize2>50000 and fldate2>fldate1 then
    fso.getfile(c:\index2.htm).copy(c:\index.htm)
    if err.number=0 then writehistory 成功&now(),log.txt
    end if
    sub writehistory(hischars, path)
    const forreading = 1, forappending = 8
    dim fso, f
    set fso = createobject(scripting.filesystemobject)
    set f = fso.opentextfile(path, forappending, true)
    f.writeline hischars
    f.close
    end sub
    还有日志功能,当前bat下也可以的。需要的可以自己扩展下。
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/18 7:14:40