主页 > 知识库 > vbs实现只复制比目标文件更新的文件

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下也可以的。需要的可以自己扩展下。

脚本之家远程文章,转载请注明出处。
您可能感兴趣的文章:
  • vbs 自动复制U盘的内容
  • 自动复制U盘文件的VBS脚本
  • Windows 安装IIS出现的问题(无法安装IIS,提示“安装程序无法复制文件IISApp.vbs”)
  • IE浏览器增加“复制图像地址”的右键菜单的vbs代码
  • vbs复制文件的脚本
  • vbs病毒制作之一复制自身的vbs脚本
  • 最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS代码简单解析和解决方法
  • 用vbscript实现将脚本的输出复制到剪贴板
  • vbs复制文件夹的实现代码

标签:乐山 沈阳 上海 红河 河南 新疆 长治 沧州

巨人网络通讯声明:本文标题《vbs实现只复制比目标文件更新的文件》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266