Я пишу VBScript для SyncBack (утилита резервного копирования), в которой я удаляю старые версии резервной копии.Как приостановить скрипт VBS во время удаления папки?
'' # 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
Однако иногда папка (которая содержит старую резервную копию), который я пытаюсь удалить занимает больше времени, что 2 секунды на WScript.Sleep 2000 удалить, и мне было интересно, если есть способ чтобы сценарий подождал, пока папка не будет удалена, прежде чем она выведет «Удалено < имя папки > успешно».
В идеале я хотел бы что-то вроде:
While oFolder.IsDeleting() Then
WScript.Echo "Still deleting..."
WScript.Sleep 2000
Loop
Но я хорошо известно, что это, вероятно, не будет так.
Что тип objFileSystem? –
FileSystemObject: http://msdn.microsoft.com/en-us/library/z9ty6h50(VS.85).aspx –