vbs复制文件夹的实现代码
2016-06-22来源:

这篇文章主要介绍了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]

推荐信息
Baidu
map