如何在没有弹出窗口的情况下创建VB脚本文件

时间:2015-02-04 07:10:54

标签: vbscript

我用Google搜索了一个符合我想要的代码, 但是当我在任务管理器中安排它时会发生问题..在每个弹出屏幕之后我需要单击确定..然后只有文件得到更新。请让我知道要做什么更改以便在运行VBS之后它会默默地更新文件。

实际代码: 源:http://www.wisesoft.co.uk/scripts/vbscript_disk_space_usage_report.aspx

OPTION EXPLICIT

CONST strComputer = "."
CONST strReport = "D:\diskspace.txt"

DIM objWMIService, objItem, colItems
DIM strDriveType, strDiskSize, txt

SET objWMIService = GETOBJECT("winmgmts:\\" & strComputer & "\root\cimv2")
SET colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk WHERE DriveType=3")
txt = "Drive" & vbtab & "Size" & vbtab & "Used" & vbtab & "Free" & vbtab & "Free(%)" & vbcrlf
FOR EACH objItem in colItems

    DIM pctFreeSpace,strFreeSpace,strusedSpace

    pctFreeSpace = INT((objItem.FreeSpace / objItem.Size) * 1000)/10
    strDiskSize = Int(objItem.Size /1073741824) & "Gb"
    strFreeSpace = Int(objItem.FreeSpace /1073741824) & "Gb"
    strUsedSpace = Int((objItem.Size-objItem.FreeSpace)/1073741824) & "Gb"
    txt = txt & objItem.Name & vbtab & strDiskSize & vbtab & strUsedSpace & vbTab & strFreeSpace & vbtab & pctFreeSpace & vbcrlf

NEXT

writeTextFile txt, strReport
wscript.echo "Report written to " & strReport & vbcrlf & vbcrlf & txt

' Procedure to write output to a text file
PRIVATE SUB writeTextFile(BYVAL txt,BYVAL strTextFilePath)
  DIM objFSO,objTextFile
  SET objFSO = CREATEOBJECT("Scripting.FileSystemObject")
  SET objTextFile = objFSO.CreateTextFile(strTextFilePath)
  objTextFile.Write(txt)
  objTextFile.Close
  SET objTextFile = NOTHING
END SUB

2 个答案:

答案 0 :(得分:3)

使用cscript script_file.vbs而非wscript script_file.vbs调用脚本。

答案 1 :(得分:1)

wscript.echo生成的弹出消息,如果删除该行,代码将以静默方式运行

wscript.echo "Report written to " & strReport & vbcrlf & vbcrlf & txt