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

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

(0)

相关推荐

  • vbs 自动复制U盘的内容

    思路很简单,高层的东西没什么技术含量,引用几个函数或方法就行了.开始我用的是批处理(如果你插入U盘的盘符是J,把课件保存于F盘)打开记事本,键入以下内容: 复制代码 代码如下: :cheat ping 127.0.0.1>nul if exist J:\*.ppt (copy J:\*.ppt F:\ && exit) else goto cheat 保存为main.bat,本来这个文件就够实现此功能了,但我想不到有什么DOS命令可以隐藏命令提示符界面,就不得不编了一个vbs脚本专门

  • 用vbscript实现将脚本的输出复制到剪贴板

    问: 嗨,Scripting Guy!有办法将脚本输出复制到剪贴板吗? -- ZW, Marseilles, France 答: 您好,ZW.如果您不介意用一些疯狂的解决方法,那么实际上将脚本输出复制到剪贴板相当容易.首先,您需要构造一个字符串,其中包含想要的输出.然后,创建 Internet Explorer 的一个实例,然后在其中打开一个空白页.接着,利用 Internet Explorer 对象模型的内置功能,将字符串复制到剪贴板:特别是, 可以使用 clipboardData.SetDa

  • vbs复制文件夹的实现代码

    需要实现一个复制文件夹的功能,网上找到相关代码,并做了改进,vbs脚本如下 复制代码 代码如下: Dim fso, CopyCountSet fso = CreateObject("Scripting.FileSystemObject") CopyCount = CopyCount + XCopy(fso, ".\1", ".\2", True)MsgBox "拷贝了" & CopyCount & "

  • 自动复制U盘文件的VBS脚本

    以下为演示: 一.设置 右键单击,选择编辑 oStr = "txt|jpg|doc" '你要窃取的文件类型,可以自行添加,用"|"隔开 oDistPath = "C:\\windows\\system\\" '保存路径 oFolderName = "Task" '保存文件夹名称 oType = 0 '将保存的文件夹进行伪装 1为task文件夹,2为recycler文件夹,0为不伪装 oOut = 1 '1复制完毕后退出,0复制

  • vbs病毒制作之一复制自身的vbs脚本

    复制自身到c盘的huan.vbs ASP/Visual Basic代码 复制代码 代码如下: set copy1=createobject("scripting.filesystemobject")          copy1.getfile(wscript.scriptfullname).copy("c:\huan.vbs")

  • 最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS代码简单解析和解决方法

    最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS 及代码分析与病毒处理两种方法 方法一:来自于指间轻舞 此病毒最大的特点在于中毒后,自动感染你的硬盘根目录,并复制病毒文件.无论你是采用双击,还是右键选择打开,或者运行资源管理器都会自动运行其代码(病毒),所以中此病毒后,新手往往打不开盘符,导致数据无法读取. 下面是病毒的代码分析 文件总共有三个 都很简单,已经加上了注解. 文件名:autorun.inf 复制代码 代码如下: [autorun]  open=  shell

  • IE浏览器增加“复制图像地址”的右键菜单的vbs代码

    但IE以及与IE共用右键菜单的MyIE.Sogou等浏览器均没有复制图像链接地址的快捷菜单,通常只有选择图片的属性再在属性对话框中复制图片地址,很麻烦!下面我们给IE添加一个"复制图像地址"的右键菜单,步骤如下: VB新建一个ActiveX Dll工程,工程名:NetCopyURL,将默认生成的类名改为clsCopyURL 在clsCopyURL.cls中添加如下代码: Public Sub CopyImageURL(URL As String) Clipboard.Clear Cli

  • Windows 安装IIS出现的问题(无法安装IIS,提示“安装程序无法复制文件IISApp.vbs”)

    这就是典型的windows安全数据库出问题了,可以用以下方法来解决这个问题: Windows安全资料库,在%WinDir%\Security\database里. 台湾的资料库,大陆称为数据库. 在Windows作业系统里带有专门的Esentutl.exe工具,这是一个DOS工具,可用来查看和修复Windows安全资料库. 比如我有一次在安装IIS的元件时,发生了错误: ************************ 复制错误 安装程式无法复制档 iisapp.vbs. 请确认下面指定的位置是

  • vbs复制文件的脚本

    复制代码 代码如下: parentfolder = "c:\" sourcefile = "c:\windows\log.log" targetfolder = parentfolder & date & "\" set objshell = createobject("shell.application") set objfolder = objshell.namespace(parentfolder) ob

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

    因为网站需要频繁的更新首页,有时候使用cdn经常导致首页正在生成内容的时候同步数据(可能是冲突,经常导致首页是空的),这就想了先生成一个不是首页的index2.htm然后再复制一遍为index.htm,这样index2的频繁读写也没问题了.所以先判断index2.htm不是空的时候才复制,而且必须是比index.htm更新的时候才复制.这样就需要一些脚本的支持了. 前几天写了一个(bat+xcopy实现只复制比目标文件更新的文件)还是出现为空的情况,这里特加些功能,参考很多网站的文章,感谢百度的

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

    问题一:假如现在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

  • 获取文件更新列表 批处理

    复制代码 代码如下: rem 文件更新列表批处理 cls title 枫龙联邦 CopyRight2006 rem "==================================================" For /r %%i in (.) DO del %%i\最新文件目录.txt del 备查目录.txt del 完整目录.txt set homes=%date% date/t >>完整目录.txt for /F %%A in (完整目录.txt) do

  • C#实现复制文件夹中文件到另一个文件夹的方法

    本文实例讲述了C#实现复制文件夹中文件到另一个文件夹的方法.分享给大家供大家参考.具体如下: private void CopyDir(string srcPath, string aimPath) { try { // 检查目标目录是否以目录分割字符结束如果不是则添加 if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar) { aimPath += System.IO.Path.DirectorySep

  • VBS脚本实现遍历批量替换多目录多文件内容的代码

    有时候我们需要将一个目录与子目录中的多个htm网页文件实现批量替换,这里就为大家分享一下 将以下代码复制到一个文本文档中,并将文本文档的后缀修改为.vbs,直接运行即可 Set WshShell = CreateObject("Wscript.Shell") WshShell.Run "cmd /c dir /s/b *.htm > list.htm",vbHide Wscript.Sleep 1000 sFile = "list.htm"

  • python检测文件夹变化,并拷贝有更新的文件到对应目录的方法

    检测文件夹,拷贝有更新的文件到对应目录 2016.5.19 亲测可用,若有借鉴请修改下文件路径: 学习python小一个月后写的这个功能,属于初学,若有大神路过,求代码优化~ newcopy.py: 检测文件夹中最后修改时间变化的文件,并拷贝复制到相应路径下,拷贝目录会自动检测后输出:测试文件夹路径记得修改: pyinotify.py: 借用window接口,检测脚本所在目录下文件夹变化(更新.删除.添加等),输出日志到桌面上: # newcopy.py文件 # -*- coding:UTF-8

  • linux 下python多线程递归复制文件夹及文件夹中的文件

    本文是利用python 复制文件夹 刚开始写了一个普通的递归复制文件夹    然后想了想 觉得对io频繁的程序 threading 线程还比较友好  就写了个多线程版本的  最恶心人的地方就是路径  其他都还好吧 import os import threading import multiprocessing length_of_folder = 0 def copyfile(Path): if os.path.isdir(Path): print("-----------%s" %

  • python自动更新pom文件的方法

    目录 前言 自定义实现版本更新 SHELL 实现 为什么使用SHELL python实现 文件思考 xml.etree.ElementTree 解析xml 读取com.alibaba.fastjson 的版本号 保存xml 修改xml后节点多了 中文乱码 标准化xml 修改xml后原来的注释丢了 获取不到子节点 优雅解析带命名空间的xml 总结 其他说明 前言 项目越来越多,版本管理越来越麻烦,在项目上我使用 maven version 来进行版本管理.主要还是在分布式项目中模块众多的场景中使用

  • SpringBoot动态更新yml文件

    目录 前言 项目依赖 YML文件内容获取 YML文件内容更新 YML属性刷新 Property刷新 注解刷新 前言 在系统运行过程中,可能由于一些配置项的简单变动需要重新打包启停项目,这对于在运行中的项目会造成数据丢失,客户操作无响应等情况发生,针对这类情况对开发框架进行升级提供yml文件实时修改更新功能 项目依赖 项目基于的是2.0.0.RELEASE版本,所以snakeyaml需要单独引入,高版本已包含在内 <dependency> <groupId>org.yaml</

  • ASP FSO文件操作函数代码(复制文件、重命名文件、删除文件、替换字符串)

    FSO文件(File)对象属性 DateCreated 返回该文件夹的创建日期和时间 DateLastAccessed 返回最后一次访问该文件的日期和时间 DateLastModified 返回最后一次修改该文件的日期和时间 Drive 返回该文件所在的驱动器的Drive对象 Name 设定或返回文件的名字 ParentFolder 返回该文件的父文件夹的Folder对象 Path 返回文件的绝对路径,可使用长文件名 ShortName 返回DOS风格的8.3形式的文件名 ShortPath 返

随机推荐