例如我有一虚拟目录路径为 http://localhost/myvdir/
我想设置 http://localhost/myvdir/subdir 目录的属性,用VB或者VBS如何进行?(此subdir 是原目录底下本来就存在的子目录。)多谢!!!!!!!!!!!!
/*********  请各位看清楚我的问题,不是一般普通的建立虚拟目录**********/

解决方案 »

  1.   

    这个是asp的,差不多 
    '**********************************************************************************  
    ' 创建一个WebServer  
    ' 必须参数:WRoot,为创建站点的物理目录;WComment为站点说明;WPort为站点端口;ServerRun为是否自动运行  
    ' 当创建成功时返回1,失败时提示退出并返回0,当创建站点成功但启动失败时返回2  
    '**********************************************************************************  
    '    
    '******************注意:WPort为List类型,意为服务器端口,***************  
    '  本函数在IIS5.0上通过,**必须以管理员身份登录**  
    ' 端口举例:  
    ' Dim WPort,bindlists,createflag,oComputer  
    ' oComputer="LocalHost"  
    ' binglists=Array(0)  
    ' binglists(0)=":80:"'端口号为80  
    ' WPort=binglists  
    ' createflag=CreateWebServer("D:\myweb","我的家园",WPort,False)'调用建站函数  
    '  If creatflag=0 Then  
    ' Response.Write "创建站点失败!请确定是否有权限"  
    ' ElseIf createflag=1 Then  
    ' Response.Write "创建站点成功!"  
    ' ElseIf createflag=2 Then  
    ' Response.Write "创建站点成功,但启动站点失败,可能端口冲突!"  
    ' End If  
    '********************************************************************************  
    '关于Ftp站点的创建我已发表在asp版,请有兴趣的朋友自己去查看  
    '如有问题,欢迎跟我联系:[email protected]  Function CreateWebServer(WRoot,WComment,WPort,ServerRun)  
    On Error Resume Next  
    Dim ServiceObj,ServerObj,VDirObj  
    Set ServiceObj = GetObject("IIS://"&oComputer&"/W3SVC")' 首先创建一个服务实例  WNumber=1  
    Do While IsObject(ServiceObj.GetObject("IIsWebServer",WNumber))  
    If Err.number<>0 Then  
    Err.Clear()  
    Exit Do  
    End If  
    WNumber=WNumber+1  
    Loop  Set ServerObj = ServiceObj.Create("IIsWebServer", WNumber)' 然后创建一个WEB服务器  If (Err.Number <> 0) Then' 是否出错  
    'Response.Write "错误: 创建Web服务器的ADSI操作失败!"  
    CreateWebServer=0  
    Exit Function  
    End If  ' 接着配置服务器  
    ServerObj.ServerSize = 1 ' 中型大小  
    ServerObj.ServerComment = WComment '说明  
    ServerObj.ServerBindings = WPort '端口  
    ServerObj.EnableDefaultDoc=True  ' 提交信息  
    ServerObj.SetInfo  ' 最后,建立虚拟目录  
    Set VDirObj = ServerObj.Create("IIsWebVirtualDir", "ROOT")  If (Err.Number <> 0) Then' 是否出错  
    'Response.Write "错误: 创建虚拟目录的ADSI操作失败!"  
    CreateWebServer=0  
    Exit Function  
    End If  ' 配置虚拟目录  
    VDirObj.Path = WRoot  
    VDirObj.AccessRead = True  
    VDirObj.AccessWrite = True  
    VDirObj.EnableDirBrowsing = False  
    VDirObj.EnableDefaultDoc=True  
    VDirObj.AccessScript=True  
    VDirObj.AppCreate2 2  
    VDirObj.AppFriendlyName="默认应用程序"  
    VDirObj.SetInfo  If ServerRun = True Then  
    ServerObj.Start  
    If (Err.Number <> 0) Then ' Error!  
    'Response.Write "错误: 起动服务器时出错!请手动启动WebServer "&WComment&"!
    "  
    CreateWebServer=2  
    Exit Function  
    End If  
    End If  
    Set VDirObj=Nothing  
    Set ServerObj=Nothing  
    Set ServiceObj=Nothing  
    CreateWebServer=1  
    End Function 我知道了,代码如下:
    Function DeleteWebsite(ByVal IISPath As String) As Boolean
    Dim DirObj
    Dim ObjectParam As String
    On Error GoTo errs
    'IISpath格式为:IIS://机器名/W3SVC/虚拟站点号/ROOT/虚拟目录
    If IISPath = "" Then Exit Function
    DeleteWebsite = True
    ObjectParam = SplitParam(IISPath)
    If UCase(ObjectParam) = "ROOT" Then ObjectParam = SplitParam(IISPath) '如果是虚拟站点,那么IIS路径应该再退到上一层
    Set DirObj = GetObject(IISPath)
    DirObj.Delete "IIsObject", ObjectParam
    Exit Functionerrs:
    If err.Number <> 462 Then
     MsgBox "您的系统上可能没有安装IIS或IIS已经破坏!" & Chr(13) & Chr(10) & _
            "错误号【" & err.Description & "】", vbOKOnly + vbExclamation, "系统错误"
     DeleteWebsite = False
    End If
    End Function
      

  2.   

    谢谢 forever_chang(寒冬月夜裸奔狂) 的回复。我试过了,如果用GetObject("站点","目录"),是不能得到我问题上所提到的目录的对象的,也就是说,如果是真正的虚拟目录,可以得到对象,但如果是映射的虚拟目录下原本存在的目录,就不能获取这个对象,请高手指教!!!!