我們有一個vbs腳本,在我們的夜間過程中運行,刪除舊備份,然後在晚上創建新備份。在我們的一些地點,我們遇到了刪除部分需要很長時間才能刪除的問題。VBS需要很長時間才能刪除
我在IT部門爲一家餐廳工作,此代碼由我們的軟件提供商編寫,他絕對沒有幫助。這太耗時了,導致商店無法按時開門。
下面是使用的代碼:
If FSO_FileExists(sDest & "\" & sZip) Then
FSO_DeleteFile(sDest & "\" & sZip)
End If
Function FSO_DeleteFile(sFile)
Dim oErr: oErr = Err: Err.Clear
If Not bDebugScript Then On Error Resume Next
Dim fsName: fsName = "FSO_DeleteFile"
Dim oFSO: Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.DeleteFile sFile, True
FSO_DeleteFile = (Err.Number = 0)
If IsObject(oLog) Then oLog.WriteLog fsName & ": " & sFile
If Err.Number <> 0 And IsObject(oLog) Then oLog.WriteLog "ERROR: " & fsName & ": (" & Err.Number & ") " & Err.Description
Err = oErr
End Function
Function FSO_FileExists(sFile)
Dim oErr: oErr = Err: Err.Clear
If Not bDebugScript Then On Error Resume Next
Dim fsName: fsName = "FSO_FileExists"
Dim oFSO: Set oFSO = CreateObject("Scripting.FileSystemObject")
Dim bExists
bExists = oFSO.FileExists(sFile)
FSO_FileExists = bExists
If IsObject(oLog) Then oLog.WriteLog fsName & ": (" & CStr(bExists) & ") " & sFile
If Err.Number <> 0 And IsObject(oLog) Then oLog.WriteLog "ERROR: " & fsName & ": (" & Err.Number & ") " & Err.Description
Err = oErr
End Function
該日誌顯示:
2014年2月26日04:22:17.825 FSO_FileExists:(真)d:\備份\ Logs.zip
2014年2月26日04:22:17.886 FSO_DeleteFile:d:\備份\ Logs.zip
2014年2月26日04:56:20.544 WSHShell_Run:「 「C:\ Zip.exe」 -D「 D:\ backup \ Logs.zip「*'結果(0)
顯然,34分鐘是很長時間才能刪除文件。我希望我已經提供了足夠的信息。如果我需要其他東西,請告訴我。
我認爲你在這裏是正確的。謝謝你的幫助! –