Wie pausiere ich VBS-Skript, während die Ordner gelöscht?

Schreibe ich ein VBScript für SyncBack (backup utility), in denen ich bin das löschen von alten Versionen einer Sicherung.

    '' # if current version is greater than the total allowed number of versions,
    '' # delete the oldest folder
    If versionNumber > totalVersions Then
        delDirNum = versionNumber - totalVersions
        If delDirNum > 0 Then
            DelFoldername = containerFileOrFolder & "\" & delDirNum & "_"
               '' " # Ignore this line SO Prettify doesn't do VB very well. 
            If fso.FolderExists(DelFoldername) = True Then
                WScript.Echo "Deleting: <" & DelFoldername & ">"
                Set oFolder = objFileSystem.GetFolder(DelFoldername)
                oFolder.Delete()
                WScript.Sleep 2000
                If fso.FolderExists(DelFoldername) = False Then
                    WScript.Echo "Deleted <" & DelFoldername & "> successfully"
                Else
                    WScript.Echo "Could not delete <" & DelFoldername & ">"
                End If
            End If
        End If
    End If

Jedoch, gelegentlich wird der Ordner (enthält die alten backup), die ich versuche zu löschen, dauert länger als die 2 Sekunden mit WScript.Schlaf-2000 zu entfernen und ich Frage mich, ob es einen Weg, um das Skript warten, bis der Ordner gelöscht wurde, bevor es druckt "Gelöscht <Ordnername> erfolgreich".

Idealerweise würde ich gerne so etwas wie:

While oFolder.IsDeleting() Then
    WScript.Echo "Still deleting..."
    WScript.Sleep 2000
Loop

Aber ich bin gut bewusst, dass das wahrscheinlich nicht der Fall sein wird.

InformationsquelleAutor Jon | 2009-11-20
Schreibe einen Kommentar