[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 求助有VBS cscript精通的来指导下?

前几天,装机子出现浏览器挂起的时候,请教别人运行了PWD.BAT
现在有空,想搞明白里面程序的作用
CSCRIPT //B C:\Inetpub\AdminScripts\mkwebdir.vbs -w ""1"" -v ""ContPart1"",""C:\DK1\ATM\KIOSK\ContPart""
CSCRIPT //B C:\Inetpub\AdminScripts\chaccess.vbs -a w3svc/1/ROOT/ContPart1 +execute
CSCRIPT //B C:\Inetpub\AdminScripts\mkwebdir.vbs -w ""1"" -v ""ContPart2"",""C:\DK1\ATM\KIOSK\ContPart""
CSCRIPT //B C:\Inetpub\AdminScripts\chaccess.vbs -a w3svc/1/ROOT/ContPart2 +execute
CSCRIPT //B C:\Inetpub\AdminScripts\mkwebdir.vbs -w ""1"" -v ""SPL1"",""C:\DK1\ATM\KIOSK\SPL""
CSCRIPT //B C:\Inetpub\AdminScripts\chaccess.vbs -a w3svc/1/ROOT/SPL1 +execute
CSCRIPT //B C:\Inetpub\AdminScripts\mkwebdir.vbs -w ""1"" -v ""SPL2"",""C:\DK1\ATM\KIOSK\SPL""
CSCRIPT //B C:\Inetpub\AdminScripts\chaccess.vbs -a w3svc/1/ROOT/SPL2 +execute
我自己BAIDU就找到这么多:见下面
1. CSCRIPT //B批处理模式:不在命令行上显示用户提示和脚本错误。 2. execute执行
谁能再帮我分析点吗?

[ 本帖最后由 darkcool 于 2008-8-30 11:44 编辑 ]
1

评分人数

    • pusofalse: 标题模糊,不利于以后的搜索PB -2

cscript /b C:\Inetpub\AdminScripts\chaccess.vbs -a w3svc/1/ROOT/SPL2 +execute
以命令行模式运行c:\inetpub\adminscripts\chaccess.vbs 并给它传递一系列的参数,不知我理解的对否,大概猜得,不会VBS。
心绪平和,眼藏静谧。

TOP

把mkwebdir.vbs脚本贴出来我看看

TOP

我找到mkwebdir.vbs

  1. '---------------------------------------------------------------------------------------------------
  2. ' This function creates a virtual web directory on the specified web site
  3. ' and with the specified path
  4. '
  5. 'mkwebdir [--computer|-c COMPUTER1, COMPUTER2, COMPUTER3]
  6. '         <--website|-w WEBSITE>
  7. '         <--virtualdir|-v NAME1,PATH1,NAME2,PATH2,...>
  8. '         [--help|-?]
  9. '
  10. 'COMPUTER                Computer on which users exists
  11. 'WEBSITE1,WEBSITE2       Virtual Web Sites on which directories will be created
  12. 'NAME1,PATH1,NAME2,PATH2 Virtual Directories names and paths to create
  13. '
  14. 'Example 1                mkwebdir -c LocalHost -w "Default Web Site"
  15. '                       -v "Virtual Dir1","c:\inetpub\wwwroot\dir1","Virtual Dir2","c:\inetpub\wwwroot\dir2"
  16. 'Example 2                mkwebdir -c LocalHost -w 3
  17. '                       -v "Virtual Dir1,c:\inetpub\wwwroot\dir1,Virtual Dir2,c:\inetpub\wwwroot\dir2"
  18. '---------------------------------------------------------------------------------------------------
  19. ' Force explicit declaration of all variables.
  20. Option Explicit
  21. On Error Resume Next
  22. Dim oArgs, ArgNum
  23. Dim ArgComputer, ArgWebSites, ArgVirtualDirs, ArgDirNames(), ArgDirPaths(), DirIndex
  24. Dim ArgComputers
  25. Set oArgs = WScript.Arguments
  26. ArgComputers = Array("LocalHost")
  27. ArgNum = 0
  28. While ArgNum < oArgs.Count
  29.         If (ArgNum + 1) >= oArgs.Count Then
  30.                 Call DisplayUsage
  31.         End If        
  32.         Select Case LCase(oArgs(ArgNum))
  33.                 Case "--computer","-c":
  34.                         ArgNum = ArgNum + 1
  35.                         ArgComputers = Split(oArgs(ArgNum), ",", -1)
  36.                 Case "--website","-w":
  37.                         ArgNum = ArgNum + 1
  38.                         ArgWebSites = oArgs(ArgNum)
  39.                 Case "--virtualdir","-v":
  40.                         ArgNum = ArgNum + 1
  41.                         ArgVirtualDirs = Split(oArgs(ArgNum), ",", -1)
  42.                 Case "--help","-?"
  43.                         Call DisplayUsage
  44.         End Select        
  45.         ArgNum = ArgNum + 1
  46. Wend
  47. ArgNum = 0
  48. DirIndex = 0
  49. ReDim ArgDirNames((UBound(ArgVirtualDirs)+1) \ 2)
  50. ReDim ArgDirPaths((UBound(ArgVirtualDirs)+1) \ 2)
  51. if isArray(ArgVirtualDirs) then
  52.         While ArgNum <= UBound(ArgVirtualDirs)
  53.                 ArgDirNames(DirIndex) = ArgVirtualDirs(ArgNum)
  54.                 If (ArgNum + 1) > UBound(ArgVirtualDirs) Then
  55.                         WScript.Echo "Error understanding virtual directories"
  56.                         Call DisplayUsage
  57.                 End If        
  58.                 ArgNum = ArgNum + 1
  59.                 ArgDirPaths(DirIndex) = ArgVirtualDirs(ArgNum)
  60.                 ArgNum = ArgNum + 1
  61.                 DirIndex = DirIndex + 1
  62.         Wend
  63. end if
  64. If (ArgWebSites = "") Or (IsArray(ArgDirNames) = False or IsArray(ArgDirPaths) = False) Then
  65.         Call DisplayUsage
  66. Else
  67.         Dim compIndex
  68.         for compIndex = 0 to UBound(ArgComputers)
  69.                 Call ASTCreateVirtualWebDir(ArgComputers(compIndex),ArgWebSites,ArgDirNames,ArgDirPaths)
  70.         next
  71. End If
  72. '---------------------------------------------------------------------------------
  73. Sub Display(Msg)
  74.         WScript.Echo Now & ". Error Code: " & Hex(Err) & " - " & Msg
  75. End Sub
  76. Sub Trace(Msg)
  77.         WScript.Echo Now & " : " & Msg        
  78. End Sub
  79. Sub DisplayUsage()
  80.         WScript.Echo "Usage: mkwebdir [--computer|-c COMPUTER1,COMPUTER2]"
  81.         WScript.Echo "                <--website|-w WEBSITE1>"
  82.         WScript.Echo "                <--virtualdir|-v NAME1,PATH1,NAME2,PATH2,...>"
  83.         WScript.Echo "                [--help|-?]"        
  84.         WScript.Echo ""
  85.         WScript.Echo "Note, WEBSITE is the Web Site on which the directory will be created."
  86.         WScript.Echo "The name can be specified as one of the following, in the priority specified:"
  87.         WScript.Echo " Server Number (i.e. 1, 2, 10, etc.)"
  88.         WScript.Echo " Server Description (i.e ""My Server"")"
  89.         WScript.Echo " Server Host name (i.e. ""www.domain.com"")"
  90.         WScript.Echo " IP Address (i.e., 127.0.0.1)"
  91.         WScript.Echo ""
  92.         WScript.Echo ""
  93.         WScript.Echo "Example : mkwebdir -c LocalHost -w ""Default Web Site"""
  94.         WScript.Echo "           -v ""dir1"",""c:\inetpub\wwwroot\dir1"",""dir2"",""c:\inetpub\wwwroot\dir2"""
  95.         WScript.Echo
  96.         WScript.Echo "          mkwebdir -c LocalHost -w 3"
  97.         WScript.Echo "           -v ""dir1,c:\inetpub\wwwroot\dir1,dir2,c:\inetpub\wwwroot\dir2"""
  98.         WScript.Quit
  99. End Sub
  100. '---------------------------------------------------------------------------------
  101. Sub ASTCreateVirtualWebDir(ComputerName,WebSiteName,DirNames,DirPaths)
  102.         Dim Computer, webSite, WebSiteID, vRoot, vDir, DirNum
  103.         On Error Resume Next
  104.         
  105.         set webSite = findWeb(ComputerName, WebSiteName)
  106.         if IsObject(webSite) then
  107.                 set vRoot = webSite.GetObject("IIsWebVirtualDir", "Root")
  108.                 Trace "Accessing root for " & webSite.ADsPath
  109.                 If (Err <> 0) Then
  110.                         Display "Unable to access root for " & webSite.ADsPath
  111.                 Else
  112.                         DirNum = 0
  113.                         If (IsArray(DirNames) = True) And (IsArray(DirPaths) = True) And (UBound(DirNames) = UBound(DirPaths)) Then
  114.                                 While DirNum < UBound(DirNames)
  115.                                         'Create the new virtual directory
  116.                                         Set vDir = vRoot.Create("IIsWebVirtualDir",DirNames(DirNum))
  117.                                         If (Err <> 0) Then
  118.                                                 Display "Unable to create " & vRoot.ADsPath & "/" & DirNames(DirNum) &"."
  119.                                         Else
  120.                                                 'Set the new virtual directory path
  121.                                                 vDir.AccessRead = true
  122.                                                 vDir.Path = DirPaths(DirNum)
  123.                                                 If (Err <> 0) Then
  124.                                                         Display "Unable to bind path " & DirPaths(DirNum) & " to " & vRootName & "/" & DirNames(DirNum) & ". Path may be invalid."
  125.                                                 Else
  126.                                                         'Save the changes
  127.                                                         vDir.SetInfo
  128.                                                         If (Err <> 0) Then
  129.                                                                 Display "Unable to save configuration for " & vRootName & "/" & DirNames(DirNum) &"."
  130.                                                         Else
  131.                                                                 Trace "Web virtual directory " & vRootName & "/" & DirNames(DirNum) & " created successfully."
  132.                                                         End If
  133.                                                 End If
  134.                                         End If
  135.                                         Err = 0
  136.                                         DirNum = DirNum + 1
  137.                                 Wend
  138.                         End If
  139.                 End If
  140.         else
  141.                 Display "Unable to find "& WebSiteName &" on "& ComputerName
  142.         End if
  143.         Trace "Done."
  144. End Sub
  145. function getBinding(bindstr)
  146.         Dim one, two, ia, ip, hn
  147.         
  148.         one=Instr(bindstr,":")
  149.         two=Instr((one+1),bindstr,":")
  150.         
  151.         ia=Mid(bindstr,1,(one-1))
  152.         ip=Mid(bindstr,(one+1),((two-one)-1))
  153.         hn=Mid(bindstr,(two+1))
  154.         
  155.         getBinding=Array(ia,ip,hn)
  156. end function
  157. Function findWeb(computer, webname)
  158.         On Error Resume Next
  159.         Dim websvc, site
  160.         dim webinfo
  161.         Dim aBinding, binding
  162.         set websvc = GetObject("IIS://"&computer&"/W3svc")
  163.         if (Err <> 0) then
  164.                 exit function
  165.         end if
  166.         ' First try to open the webname.
  167.         set site = websvc.GetObject("IIsWebServer", webname)
  168.         if (Err = 0) and (not isNull(site)) then
  169.                 if (site.class = "IIsWebServer") then
  170.                         ' Here we found a site that is a web server.
  171.                         set findWeb = site
  172.                         exit function
  173.                 end if
  174.         end if
  175.         err.clear
  176.         for each site in websvc
  177.                 if site.class = "IIsWebServer" then
  178.                         '
  179.                         ' First, check to see if the ServerComment
  180.                         ' matches
  181.                         '
  182.                         If site.ServerComment = webname Then
  183.                                 set findWeb = site
  184.                                 exit function
  185.                         End If
  186.                         aBinding=site.ServerBindings
  187.                         if (IsArray(aBinding)) then
  188.                                 if aBinding(0) = "" then
  189.                                         binding = Null
  190.                                 else
  191.                                         binding = getBinding(aBinding(0))
  192.                                 end if
  193.                         else
  194.                                 if aBinding = "" then
  195.                                         binding = Null
  196.                                 else
  197.                                         binding = getBinding(aBinding)
  198.                                 end if
  199.                         end if
  200.                         if IsArray(binding) then
  201.                                 if (binding(2) = webname) or (binding(0) = webname) then
  202.                                         set findWeb = site
  203.                                         exit function
  204.                                 End If
  205.                         end if
  206.                 end if
  207.         next
  208. End Function
复制代码

[ 本帖最后由 pusofalse 于 2008-8-30 14:18 编辑 ]

TOP

这还是批处理吗?可以跟程序有得一批,牛啊~~~~~~~~~~~~~~~~

TOP

返回列表