vbs复制文件夹的实现代码 下载本文

内容发布更新时间 : 2024/6/1 20:58:16星期一 下面是文章的全部内容请认真阅读。

这篇文章主要介绍了vbs复制文件夹的实现代码.

需要实现一个复制文件夹的功能,网上找到相关代码,并做了改进,vbs脚本如下 代码如下:

dim fso, copycount

set fso = createobject(scripting.filesystemobject) copycount = copycount + xcopy(fso, .\\1, .\\2, true) msgbox 拷贝了 & copycount & 个文件!

'******************************************************************** '* function :     xcopy '*

'* purpose:  复制文件和目录树。 '*

'* input:    fso            filesystemobject 对象实例

'*           source         指定要复制的文件。

'*           destination    指定新文件的位置和/或名称。

'*           overwrite      是否覆盖已存在文件。 ture 覆盖, false 跳过 '*

'* output:   返回复制的文件个数 '*

'******************************************************************** function xcopy(fso, source, destination, overwrite)     dim s, d, f, l, copycount     set s = fso.getfolder(source)

    if not fso.folderexists(destination) then         fso.createfolder destination     end if

    set d = fso.getfolder(destination)     copycount = 0     for each f in s.files

        l = d.path & \\ & f.name

        if not fso.fileexists(l) or overwrite then             if fso.fileexists(l) then

                fso.deletefile l, true             end if

            f.copy l, true

            copycount = copycount + 1         end if     next

    for each f in s.subfolders

        copycount = copycount + xcopy(fso, f.path, d.path & \\ & f.name, overwrite)     next

    xcopy = copycount end function

在脚本文件路径建立一个文件夹,取名1,放入两个文件,运行程序结果如下 vbs复制文件的代码: 代码如下: [code] 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

[/code]