0

誰かがこのコードで私を助けてくれることを望んでいました。このスクリプトに 2 つのことを追加したかったのですが、まったく機能していないようです。

スクリプトは正常に動作しますが、ディスク情報を追加しようとしたり、ディスクの合計サイズの概要レポートを作成しようとしたりするとうまくいきません。

最後に、何を出力しようとしています

wmic diskdrive list brief /format:list

あなたに与えるでしょう。

このようなもの:

Caption=WDC WD2500BEKT-75PVMT1
DeviceID=\\.\PHYSICALDRIVE0
Model=WDC WD2500BEKT-75PVMT1
Partitions=1
Size=250056737280

これまでのスクリプトは次のとおりです

Option Explicit

const strComputer = "."
const strReport = "c:\path\to\file"


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
4

1 に答える 1