有没有更好的方法来检查虚拟目录,如果没有,创建它?

时间:2010-08-12 21:32:24

标签: iis scripting vbscript adsi

我有一些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

这很好用,但有些东西告诉我,必须有更好的方法。有没有人有什么建议?如何检查是否存在虚拟目录?任何反馈都表示赞赏。

感谢您的任何指示 干杯,
〜在圣地亚哥

1 个答案:

答案 0 :(得分: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