2013-04-20 41 views
0

我有一個問題,當我嘗試刪除一個文件夾/文件在一個指定文件夾在服務器上的限制時間,一些文件夾/文件不能刪除和保存一些文件夾/文件,而他們在訪問拒絕狀態,可以vbs做到這一點?vbscript在刪除過程中保留訪問拒絕文件

+1

如果有進程在文件夾上的鎖或文件不能移動,重命名或刪除它。這來自Windows,沒有愛這裏像linux :) – YvesR 2013-04-20 15:26:45

+0

很多thx您的評論,但是,我想跳過此訪問拒絕文件/文件夾繼續處理下一個刪除操作,可以VBscrpit做到這一點嗎? – user2302406 2013-04-21 04:06:17

+0

@YvesR區別僅在於[默認行爲](https://en.wikipedia.org/wiki/File_locking)。如果進程選擇鎖定文件,則不管操作系統如何,對其他進程的文件訪問都將被拒絕。 – 2013-04-21 09:55:43

回答

1

我回答你的問題在您的評論在這裏,因爲更多的空間來寫:)

如果您要訪問的這失敗的話,VBscript中引發錯誤。 你的腳本停止工作。這裏的解決方案是實現一個錯誤處理。 所以你可以做的是那部分移入子例程或功能,並激活On Error Resume Next這樣的:

Sub DeleteFolder(p_sFolder) 
    Err.Clear 
    On Error Resume Next 

    Dim fso : Set fso = CreateObject("scripting.FileSystemObject") 
    Dim deletefolder : Set deletefolder = fso.GetFolder(p_sFolder) 
    deletefolder.Delete(True) 
    Set fso = Nothing 

    If Err.Number<>0 THen 
    Wscript.Echo Err.Number 
    Wscript.Echo Err.Description 
    ' here you can handle with the error with additional code 
    End If 

End Sub