vbs复制文件夹的实现代码
2014-04-23来源:

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

更多信息请查看IT技术专栏

推荐信息
Baidu
map