vbs復(fù)制文件夾的實現(xiàn)代碼

字號:


    這篇文章主要介紹了vbs復(fù)制文件夾的實現(xiàn)代碼.
    需要實現(xiàn)一個復(fù)制文件夾的功能,網(wǎng)上找到相關(guān)代碼,并做了改進(jìn),vbs腳本如下
    代碼如下:
    dim fso, copycount
    set fso = createobject(scripting.filesystemobject)
    copycount = copycount + xcopy(fso, .\1, .\2, true)
    msgbox 拷貝了 & copycount & 個文件!
    '********************************************************************
    '* function :     xcopy
    '*
    '* purpose:  復(fù)制文件和目錄樹。
    '*
    '* input:    fso            filesystemobject 對象實例
    '*           source         指定要復(fù)制的文件。
    '*           destination    指定新文件的位置和/或名稱。
    '*           overwrite      是否覆蓋已存在文件。 ture 覆蓋, false 跳過
    '*
    '* output:   返回復(fù)制的文件個數(shù)
    '*
    '********************************************************************
    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,放入兩個文件,運(yùn)行程序結(jié)果如下
    vbs復(fù)制文件的代碼:
    代碼如下:
    [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]