vbs 폴 더 복사 실현 코드

2792 단어 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

스 크 립 트 파일 경로 에 폴 더 를 만 들 고 이름 을 짓 고 두 파일 을 넣 습 니 다.프로그램 결 과 는 다음 과 같 습 니 다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]

좋은 웹페이지 즐겨찾기