首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基本VBS帮助优化VBS脚本

基本VBS帮助优化VBS脚本
EN

Stack Overflow用户
提问于 2012-08-09 21:25:01
回答 1查看 549关注 0票数 1

我找到了这个输出逻辑磁盘大小的简单脚本。

代码语言:javascript
复制
strComputer = "."

Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")

Set colDisks = objWMIService.ExecQuery _
    ("Select * from Win32_LogicalDisk")

For Each objDisk in colDisks
    Wscript.Echo "DeviceID: " & objDisk.DeviceID & " with a Disk Size: " & objDisk.Size

Next

我的VBS技能很差,我需要帮助:

  1. 我想要一个只有C和D分区相加在一起的单一大小的数目
  2. 如果大小(来自step1)不等于500-GB ( 450,000,000,000至550,000,000,000,000),我需要计算机提示一个警告并“按任意键”继续。
  3. 我不想要弹出窗口,因为这将从WinPE的提示符中运行,是否可以在提示窗口中获得输出?

我要求很多,所以提前谢谢你能帮上忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-09 21:44:38

您需要使用cscript启动脚本。它的代码来自http://ask.metafilter.com/79481/vbscript-printing-to-command-line,它允许回波转到命令行,而不是消息框。

代码语言:javascript
复制
CheckStartMode
strComputer = "."

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")

Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk")

For Each objDisk in colDisks
    If(objDisk.DeviceID="C:" or objDisk.DeviceID="D:") then
        Wscript.Echo "DeviceID: " & objDisk.DeviceID & " with a Disk Size: " & objDisk.Size
        TotalSize = CCur(TotalSize) + CCur(objDisk.Size)
    End if
Next
If(TotalSize <450000000000 or TotalSize >550000000000) then
    Wscript.Echo "Disk size of " & TotalSize & " is out of range."
    Wscript.Echo "Press enter to contine."
    z = WScript.StdIn.Read(1)
End if

Wscript.Echo "Complete, Press enter to end."
z = WScript.StdIn.Read(1)
Sub CheckStartMode
     ' Returns the running executable as upper case from the last \ symbol
     strStartExe    = UCase( Mid( wscript.fullname, instrRev(wscript.fullname, "\") + 1 ) )

     If Not strStartExe = "CSCRIPT.EXE" Then
          ' This wasn't launched with cscript.exe, so relaunch using cscript.exe explicitly!
          ' wscript.scriptfullname is the full path to the actual script

          set           oSh = CreateObject("wscript.shell")
          oSh.Run   "cscript.exe """ & wscript.scriptfullname & """"
          wscript.quit

     End If
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11892162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档