首页 > 编程 > VBScript > 正文

vbs复制文件夹的实现代码

2020-06-26 18:36:04
字体:
来源:转载
供稿:网友
这篇文章主要介绍了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复制文件夹的实现代码

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 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表