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 在圣地亚哥

4

1 回答 1

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
于 2010-08-12T21:54:55.053 回答