当前位置: 移动技术网 > IT编程>脚本编程>VBScript > vbs实现只复制比目标文件更新的文件

vbs实现只复制比目标文件更新的文件

2017年12月08日  | 移动技术网IT编程  | 我要评论

张度妍,日记100字大全,淘宝双十二销售额

因为网站需要频繁的更新首页,有时候使用cdn经常导致首页正在生成内容的时候同步数据(可能是冲突,经常导致首页是空的),这就想了先生成一个不是首页的index2.htm然后再复制一遍为index.htm,这样index2的频繁读写也没问题了。所以先判断index2.htm不是空的时候才复制,而且必须是比index.htm更新的时候才复制。这样就需要一些脚本的支持了。

前几天写了一个()还是出现为空的情况,这里特加些功能,参考很多网站的文章,感谢百度的结果很给力。

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

移动技术网远程文章,转载请注明出处。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网