2010-08-12 52 views
0

我有一些vbscript代碼,當開發人員將他/她的環境切換到另一個項目時,我使用它來設置虛擬目錄的路徑。目前,我們嘗試設置路徑,如果出現錯誤,我們會創建它。它只是聞起來很有趣。有沒有辦法檢查虛擬目錄是否存在?如果沒有,創建它?有沒有更好的方法來檢查虛擬目錄,如果沒有,創建它?

set objIIS = GetObject("IIS://" & strComputer & "/W3SVC/1/ROOT/SomeWeb") 
objIIS.Path = strNewPath & "\SomeWeb" 
objIIS.SetInfo 

If Err.Number = NOT_FOUND Then 
    sVirtPath = strNewPath & "\SomeWeb" 
CreateVirtualDirectory "SomeWeb", sVirtPath, true 
Err.Clear 
End If 

這工作得很好,但事情告訴我,必須有更好的方法。有沒有人有什麼建議?我如何檢查虛擬目錄的存在?任何反饋意見。

感謝您的指點。
乾杯,
〜ck在聖地亞哥

+0

我看不出有什麼不妥的地方。 – 2010-08-12 21:42:10

回答

0

你的做法似乎很好。這是我幾年前在使用IIS 5.0時做的稍微不同的方法。我不確定它是否仍能在更高版本的IIS下運行,但您可能會覺得它很有用。

Function IsExistingWebApp(strAppPath) 
    Dim oWeb 

    On Error Resume Next 

    ' Assume it does not exist 
    IsExistingWebApp = False 

    Set oWeb = GetObject(strAppPath) 
    If (Err <> 0) Then 
     ' If an error occurs then we know the application does not exist 
     'LogMessage strAppPath & " does not exist as an application." 

     Err = 0 
     Exit Function 
    Else 
     If oWeb.Class = "IIsWebVirtualDir" Then 
     'LogMessage "Found existing web application " & oWeb.AdsPath 
     ' If it does exist and it is configured as a 
     ' virtual directory then rerturn true 
     IsExistingWebApp = True 
     End If  
    End If 
End Function 
相關問題