欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vbs复制文件夹的实现代码

程序员文章站 2022-03-07 15:25:30
需要实现一个复制文件夹的功能,网上找到相关代码,并做了改进,vbs脚本如下 复制代码 代码如下:dim fso, copycountset fso = createobj...

需要实现一个复制文件夹的功能,网上找到相关代码,并做了改进,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复制文件夹的实现代码

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]