ASP建立虚吕目录

王朝asp·作者佚名  2006-11-24
宽屏版  字体: |||超大  

'---------------------------------------------------------------------

' This function creates a virtual web directory on the specified web site

' and with the specified path

'

'mkwebdir [--computer|-c COMPUTER1, COMPUTER2, COMPUTER3]

' <--website|-w WEBSITE>

' <--virtualdir|-v NAME1,PATH1,NAME2,PATH2,...>

' [--help|-?]

'

'COMPUTER Computer on which users exists

'WEBSITE1,WEBSITE2 Virtual Web Sites on which directories will be created

'NAME1,PATH1,NAME2,PATH2 Virtual Directories names and paths to create

'

'Example 1 mkwebdir -c MyComputer -w "Default Web Site"

' -v "Virtual Dir1","c:\inetpub\wwwroot\dir1","Virtual Dir2","c:\inetpub\wwwroot\dir2"

'

'----------------------------------------------------------------

' Force explicit declaration of all variables.

Option Explicit

On Error Resume Next

Dim oArgs, ArgNum

Dim ArgComputer, ArgWebSites, ArgVirtualDirs, ArgDirNames(), ArgDirPaths(), DirIndex

Dim ArgComputers

Set oArgs = WScript.Arguments

ArgComputers = Array("LocalHost")

ArgNum = 0

While ArgNum < oArgs.Count

If (ArgNum + 1) >= oArgs.Count Then

Call DisplayUsage

End If

Select Case LCase(oArgs(ArgNum))

Case "--computer","-c":

ArgNum = ArgNum + 1

ArgComputers = Split(oArgs(ArgNum), ",", -1)

Case "--website","-w":

ArgNum = ArgNum + 1

ArgWebSites = oArgs(ArgNum)

Case "--virtualdir","-v":

ArgNum = ArgNum + 1

ArgVirtualDirs = Split(oArgs(ArgNum), ",", -1)

Case "--help","-?"

Call DisplayUsage

End Select

ArgNum = ArgNum + 1

Wend

ArgNum = 0

DirIndex = 0

ReDim ArgDirNames((UBound(ArgVirtualDirs)+1) \ 2)

ReDim ArgDirPaths((UBound(ArgVirtualDirs)+1) \ 2)

if isArray(ArgVirtualDirs) then

While ArgNum <= UBound(ArgVirtualDirs)

ArgDirNames(DirIndex) = ArgVirtualDirs(ArgNum)

If (ArgNum + 1) > UBound(ArgVirtualDirs) Then

WScript.Echo "Error understanding virtual directories"

Call DisplayUsage

End If

ArgNum = ArgNum + 1

ArgDirPaths(DirIndex) = ArgVirtualDirs(ArgNum)

ArgNum = ArgNum + 1

DirIndex = DirIndex + 1

Wend

end if

If (ArgWebSites = "") Or (IsArray(ArgDirNames) = False or IsArray(ArgDirPaths) = False) Then

Call DisplayUsage

Else

Dim compIndex

for compIndex = 0 to UBound(ArgComputers)

Call ASTCreateVirtualWebDir(ArgComputers(compIndex),ArgWebSites,ArgDirNames,ArgDirPaths)

next

End If

'-------------------------------------------------------------

Sub Display(Msg)

WScript.Echo Now & ". Error Code: " & Hex(Err) & " - " & Msg

End Sub

Sub Trace(Msg)

WScript.Echo Now & " : " & Msg

End Sub

Sub DisplayUsage()

WScript.Echo "Usage: mkwebdir [--computer|-c COMPUTER1,COMPUTER2]"

WScript.Echo " <--website|-w WEBSITE1>"

WScript.Echo " <--virtualdir|-v NAME1,PATH1,NAME2,PATH2,...>"

WScript.Echo " [--help|-?]"

WScript.Echo ""

WScript.Echo "Note, WEBSITE is the Web Site on which the directory will be created."

WScript.Echo "The name can be specified as one of the following, in the priority specified:"

WScript.Echo " Server Number (i.e. 1, 2, 10, etc.)"

WScript.Echo " Server Description (i.e ""My Server"")"

WScript.Echo " Server Host name (i.e. ""www.domain.com"")"

WScript.Echo " IP Address (i.e., 127.0.0.1)"

WScript.Echo ""

WScript.Echo ""

WScript.Echo "Example : mkwebdir -c MyComputer -w ""Default Web Site"""

WScript.Echo " -v ""dir1"",""c:\inetpub\wwwroot\dir1"",""dir2"",""c:\inetpub\wwwroot\dir2"""

WScript.Quit

End Sub

'----------------------------------------------------------------

Sub ASTCreateVirtualWebDir(ComputerName,WebSiteName,DirNames,DirPaths)

Dim Computer, webSite, WebSiteID, vRoot, vDir, DirNum

On Error Resume Next

set webSite = findWeb(ComputerName, WebSiteName)

if IsObject(webSite) then

set vRoot = webSite.GetObject("IIsWebVirtualDir", "Root")

Trace "Accessing root for " & webSite.ADsPath

If (Err <> 0) Then

Display "Unable to access root for " & webSite.ADsPath

Else

DirNum = 0

If (IsArray(DirNames) = True) And (IsArray(DirPaths) = True) And (UBound(DirNames) = UBound(DirPaths)) Then

While DirNum < UBound(DirNames)

'Create the new virtual directory

Set vDir = vRoot.Create("IIsWebVirtualDir",DirNames(DirNum))

If (Err <> 0) Then

Display "Unable to create " & vRoot.ADsPath & "/" & DirNames(DirNum) &"."

Else

'Set the new virtual directory path

vDir.AccessRead = true

vDir.Path = DirPaths(DirNum)

If (Err <> 0) Then

Display "Unable to bind path " & DirPaths(DirNum) & " to " & vRootName & "/" & DirNames(DirNum) & ". Path may be invalid."

Else

'Save the changes

vDir.SetInfo

If (Err <> 0) Then

Display "Unable to save configuration for " & vRootName & "/" & DirNames(DirNum) &"."

Else

Trace "Web virtual directory " & vRootName & "/" & DirNames(DirNum) & " created successfully."

End If

End If

End If

Err = 0

DirNum = DirNum + 1

Wend

End If

End If

else

Display "Unable to find "& WebSiteName &" on "& ComputerName

End if

Trace "Done."

End Sub

function getBinding(bindstr)

Dim one, two, ia, ip, hn

one=Instr(bindstr,":")

two=Instr((one+1),bindstr,":")

ia=Mid(bindstr,1,(o

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有