1

我对此代码有疑问......它应该做的是:启动程序(Backup.vbs),弹出窗口询问您是否需要完整或增量备份,在您选择1或2后它会复制所有文件将文件夹复制到备份文件夹以进行完整备份,对于增量,它应该创建一个包含复制日期的文件夹,复制自上次完整备份以来已修改的所有文件并将它们复制到该文件夹​​中。

你能帮我完成代码吗?

Option Explicit

Dim fso, file
Dim pfadfull, pfadinc
Dim destfull, destinc
Dim datum
Dim windowname
Dim demofile, date1, date2
Dim strMsg,inp01,strFlag

Const ForReading = 1, ForWriting = 2, ForAppending = 8, CreateIfNeeded = true

Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("output.txt", ForWriting, CreateIfNeeded)

Datum = date()
windowname = "DIAGNOSDATA AG Backup"

' Wahl ob Full oder Ink Backup
strMsg = "1.) Full Backup" & vbCR
strMsg = strMsg & "2.) Inkrementeller Backup" & vbCR
strMsg = strMsg & "Leer lassen um das Programm zu beenden." & vbCR

strFlag = False

Do While strFlag = False

inp01 = InputBox(strMsg,"DIAGNOSDATA AG Backup")

Select Case inp01
    Case "1"
        ' Full Backup
        pfadfull = inputbox("Geben Sie das Verzeichnis ein, welches Sie sichern moechten:", windowname, "C:\Users\")
        file.write pfadfull
        destfull = inputbox("Geben Sie den Speicherort ein, welcher fuer den Full Backup gebraucht wird:", windowname, "\\server\Backup\")
        file.write destfull
        destfull = destfull & datum
        FSO.CopyFolder pfadfull ,destfull, true
        MsgBox "Full Backup erfolgreich!", 64, windowname
        strFlag = True
    Case "2"
        ' Ink Backup
        pfadinc = inputbox("Geben Sie das Verzeichnis ein, welches Sie inkrementell sichern moechten:", windowname, "C:\Users\")
        file.write pfadinc
        destinc = inputbox("Geben Sie den Speicherort ein, welcher fuer den inkrementellen Backup gebraucht wird:", windowname, "\\server\Backup\")
        file.write destinc
        Set demofile = fso.GetFolder(pfadinc)
        date1 = demofile.DateLastModified
        for each date1 in demofile  
            If DateDiff("s", date1, date2) > 0 Then
                If DateDiff("n", date1, date2) > 0 Then
                    If DateDiff("h", date1, date2) > 0 Then
            file.Copy destinc
                    Else
                    End If
                Else
                End If
            Else
            End If
        Next
        msgbox "hi", 64, windowname
        strFlag = True
    Case ""
        MsgBox "Aufwiedersehen!", 64, windowname
        strFlag = True
    Case Else
        MsgBox "Bitte weahlen Sie 1 oder 2 aus.", 64, windowname
End Select

Loop

Wscript.Quit
4

0 回答 0