Dim Body, objNetWork, MyString, LeftString, YearString, MonthString, Caution

Dim objfs:set objfs = createobject("scripting.filesystemobject"):sub include(p):executeglobal objfs.OpenTextfile(p).readall:end sub
include(objFs.BuildPath("格納先パス", "config.txt"))

Size = 0
Count = 0
FreeSpace = 0
UseVolume = 0
LogName = "HDD-LOG"
Extension = "log"
LocationFolder = "ログ保存ディレクトリ名"
DT2 = DT1 + replace (time, ":", "")
DT3 = objNetWork.ComputerName & "_" & DT2


MyString = DT1
LeftString = Left(MyString, 6) ' LeftString は、"YYYYMM" です。
YearString = Left(MyString, 4) ' LeftString は、"YYYY" です。
MonthString = Mid(MyString, 5,2) ' LeftString は、"MM" です。

Sub CreateFolder2(objFSO, strFolder)
strParent = objFSO.GetParentFolderName(strFolder)
If Not objFSO.FolderExists(strParent) Then
CreateFolder2 objFSO, strParent
End If
objFSO.CreateFolder(strFolder)
End Sub

Function CreateTextFile2(objFSO, strFile)
strParent = objFSO.GetParentFolderName(strFile)
If Not objFSO.FolderExists(strParent) Then
CreateFolder2 objFSO, strParent
End If
Set CreateTextFile2 = objFSO.CreateTextFile(strFile)
End Function

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objOutput = CreateTextFile2(objFSO, LocationFolder&"\"&LogName&"\" & LeftString & "\Readme.txt")
objOutput.WriteLine (YearString & "年" & MonthString & "月度のHDD使用率状況ログです。")
Set fso = CreateObject("Scripting.FileSystemObject")
Set tmpFile = fso.CreateTextFile(LocationFolder&"\"&LogName&"\" & LeftString & "\" & DT3 & "." & Extension)


'タイトルの表示ヘッダー部分
Title = "コンピュータ名" & vbTab & "取得日時" & vbTab & "ドライブ名" & vbTab & "空き容量" & vbTab & "使用容量" & vbTab & "フルサイズ" & vbTab & "使用率" '& vbCrLf
tmpFile.WriteLine(Title)

Dim strPC

For Each strPC In CheckPC
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strPC & "\root\cimv2")
Set objSWbemObjectCollection = objWMIService.ExecQuery("Select * from Win32_LogicalDisk Where DriveType = 3")

Set objNetWork = Nothing

For Each objSWbemObject in objSWbemObjectCollection
DeviceID = objSWbemObject.DeviceID
Size = objSWbemObject.Size
FreeSpace = objSWbemObject.FreeSpace
ExistPersent = FormatNumber((100 - FreeSpace / Size * 100),2)
UseVolume = Size - FreeSpace
ExistPersents = 100 - FreeSpace / Size * 100
If ( ExistPersents > CDbl(80) ) Then
Caution = "CAUTION!!!"
Else
Caution = ""
End If

If Int(FreeSpace / 1024 / 1024) > 999 Then
FreeSpace = FormatNumber((FreeSpace / 1024 / 1024 / 1024),2) & "GB"
else
FreeSpace = Int(((FreeSpace / 1024 / 1024) + 0.5)) & "MB" '四捨五入
End If
If Int(Size / 1024 / 1024) > 999 Then
Size = FormatNumber((Size / 1024 / 1024 / 1024),2) & "GB"
else
Size = Int(((Size / 1024 / 1024) + 0.5)) & "MB" '四捨五入
End If
If Int(UseVolume / 1024 / 1024) > 999 Then
UseVolume = FormatNumber((UseVolume / 1024 / 1024 / 1024),2) & "GB"
else
UseVolume = Int(((UseVolume / 1024 / 1024) + 0.5)) & "MB" '四捨五入
End If
Body = Body & strPC & vbTab & date & " " & time & vbTab & DeviceID & vbTab & FreeSpace & vbTab & UseVolume & vbTab & Size & vbTab & ExistPersent & "%" & vbTab & Caution & vbCrLf '使用率設定
Next
Next


tmpFile.WriteLine(Body)
WScript.Echo Title & vbCrLf & Body
tmpFile.close


config――――――――――――――――――――――――――――

'
' Configuration Section
'

Dim CheckPC(1)
CheckPC(0) = "コンピューター名1"
CheckPC(1) = "コンピューター名2"
――――――――――――――――――――――――――――――-