使用VBScript备份作业

时间:2013-11-13 10:06:12

标签: vbscript backup

我对此代码有疑问......它应该做的是: 启动程序(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

0 个答案:

没有答案