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

远程文章,转载请注明出处。

时间: 2024-12-03 21:51:09

vbs实现只复制比目标文件更新的文件_vbs的相关文章

bat+xcopy实现只复制比目标文件更新的文件_DOS/BAT

问题一:假如现在c:\a文件夹下的所有文件和d:\a下的文件相同(修改日期及内容) c:\a下的一个文件被别人修改了或者添加了一个文件! 能否写个bat,判断一下c:\a文件夹下的每个文件的最后修改日期是不是在前两天内!如果是,则复制到d:\a下的相应目录(要是原来有,则覆盖),如果不是,则不复制了. 目录复制: 复制代码 代码如下: @echo off echo y|xcopy c:\a /d /e /r /k d:\a\ pause 复制文件 复制代码 代码如下: echo y | xcop

jdom中addContent,只加载到内存,而不更新XML文件

问题描述 jdom中addContent,只加载到内存,而不更新XML文件 //添加 Element inputelement = root; inputelement.addContent(new Element("row").addContent("追加的内容").detach()); // XMLOutputter xmlOut = new XMLOutputter(Format.getPrettyFormat()); String outStr = xmlO

Android sdcard媒体文件更新

本文出之于网络,非本人撰写             Android平台基于Linux和开放手机联盟(OHA)系统,经过中国移动的创新研发,设计出拥有新颖独特的用户操作界面,增强了浏览器能力和WAP 兼容性,优化了多媒体领域的OpenCORE.浏览器领域的WebKit等业内众多知名引擎,增加了包括游戏.Widget.Java ME等在内的先进平台中间件.本文主要介绍如何利用OPhone平台提供的多媒体编程环境进行音乐资源的管理与播放. MediaScanner与音乐信息扫描 Android系统在S

使用统一阻止列表和白名单来更新主机文件

网上有许多持续维护的含有不同垃圾域的有用列表.将这些列表复制到你的主机文件中可以轻松阻止大量的域,你的系统将根本不用去连接它们.此方法可以在不安装浏览器插件的情况下工作,并且将为系统上任何浏览器(和任何其他程序)提供阻止操作. 在本教程中,我将向你展示如何在 Linux 中启动并运行 Steven Black 的统一主机脚本.该脚本将使用来自多个来源的最新已知的广告服务器.网络钓鱼网站和其他网络垃圾的地址来更新你的计算机主机文件,同时提供一个漂亮.干净的方式来管理你自己的黑名单/白名单,其分别来

ASP.net在gridview中删除数据时同时更新xml文件

asp.net|xml|数据 为了减少对数据库的访问,前台页面通常只对xml文件进行读取,但是更新数据库的时候需要同时更新xml文件,添加好办,但是删除的时候呢,下面的程序在gridview中删除数据的同时删除xml文件中对应的节点.xml文件的每个节点是一个图片新闻,包括图片和新闻页面的本地存储路径.   using System;using System.Collections;using System.ComponentModel;using System.Data;using Syste

在MySQL中使用更新日志文件

你不可能随时备份数据,但你的数据丢失时,或者数据库目录中的文件损坏时, 你只能恢复已经备份的文件,而在这之后的插入或更新的数据,就无能为力了.解决这个问题,就必须使用更新日志.更新日志可以实时记录更新.插入和删除记录的SQL语句. 启用日志 当以--log-update=file_name选项启动时,mysqld将所有更新数据的SQL命令写入记录文件中.文件被写入数据目录并且有一个名字file_name.#,这里#是一个数字,它在每次执行mysqladmin refresh或mysqladmin

version-只导出新增或者更新文件的class文件,另外删除了的文件又怎么在生产中自动删除

问题描述 只导出新增或者更新文件的class文件,另外删除了的文件又怎么在生产中自动删除 1C 在项目上线后,有些时候需要做BUG修复,大家是怎样只导出这些更新文件的?java项目 解决方案 你改了哪个,记住,备份一下

发送-用C#程序在电脑A控制电脑B向电脑C复制文件夹以及文件

问题描述 用C#程序在电脑A控制电脑B向电脑C复制文件夹以及文件 在A机器上发送指令到B机器,然后B机器在接受到指令后负责向C机器传输文件.其中,B机器在这个过程中必然要充当服务器的角色.只在A机器上有我写的程序,在B机器上没有一个负责处理你所发送的指令的程序,请问哪位大侠遇见过,给点思路,最后又例子,谢谢大家. 解决方案 使用psexec这个命令行工具可以在远程计算机上调用命令. 你可以用你熟悉的语言调用它,比如在C语言中用CreateProcess或者WinExec调用.这样在B机器上执行拷

Java中实现复制文件到文件,复制文件到文件夹,复制文件夹到文件,删除文件,删除文件夹,移动文件,移动文件夹的工具类

package cn.edu.hactcm.cfcms.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.swing.JOptionPane; /**  * CFMS :Computer f