Windowsで性能テスト。HDD容量の閾値チェックを行うとき計算が面倒。
そう思った20代の若かりし頃の僕はどうにかして手を抜こうと必死にスクリプトを書きました。
HDD容量閾値チェックツールの使い方
- ソースをコピーしてローカルにSJISで保存する。(hddchk.vbsなど)
- チェックするドライブの箇所、ソースを適宜書き換えて使用する。
'*****************************************************
'*
'* hddchk.vbs
'* 処理:HDD容量から閾値を計算する
'*
'*****************************************************
Option Explicit
On Error Resume Next
Dim objFileSys
Dim strDispArr '表示用配列
Dim objDrive '物理ドライブ
Dim strDriveLetter 'ドライブレター
Dim intBdr '閾値(Border)
Dim intCnt 'ループカウンタ兼配列要素数
intBdr = InputBox("HDD容量監視の閾値を入力してください","HDD空き容量チェック",80)
If (IsEmpty(intBdr)=True OR IsNull(intBdr)=True OR intBdr="") Then '空白判定
WScript.Quit
End If
If IsNumeric(intBdr)=False Then '文字列判定
MsgBox vbCrlf & "文字が入力されました " & vbCrlf & vbCrlf & "数字を入力してください" & vbCrlf, vbExclamation, "HDD空き容量チェック"
WScript.Quit
End If
strDriveLetter = Array("C","D","E","F","G","N") '■チェックしたいドライブはここを改修(適宜カンマ区切りで追加したりしてください)■
Set objFileSys = CreateObject("Scripting.FileSystemObject")
strDispArr = vbTab & vbTab & "閾値 " & intBdr & "% で計算" & vbCrlf & vbCrlf _
& "ドライブ" & vbTab & "総容量" & vbTab & "使用率" & vbTab & "作成するファイルサイズ" & vbCrlf & vbCrlf
'(合計×閾値×0.01)-(合計-空き) +1GB
For intCnt = 0 To UBound(strDriveLetter) Step 1
Set objDrive = objFileSys.GetDrive(strDriveLetter(intCnt))
If objDrive.IsReady = True Then
strDispArr = strDispArr & strDriveLetter(intCnt) & "_Drive" & vbTab _
& FormatNumber(objDrive.TotalSize / 1073741824,0) & "GB" & vbTab _
& FormatNumber(((objDrive.TotalSize - objDrive.FreeSpace) / objDrive.TotalSize * 100),0) _
& "%" & vbTab & FormatNumber(((objDrive.TotalSize * intBdr * 0.01) - _
(objDrive.TotalSize - objDrive.FreeSpace) + 1073741824) / 1073741824,0) & "GB" & vbCrlf
Set objDrive = Nothing
End If
Next
MsgBox strDispArr, vbOkOnly, "GetDrive"
set objFileSys = Nothing
HDD容量閾値チェックツール解説
もうどうやってソースを書いたか覚えていません。が、どうにか動いているので良しとします。
実行して閾値を入力すると何GBのファイルを作れば閾値を超えるかわかります。
Windows負荷テストツールHDD容量閾値超過させるツールと併せて使ってください。
著作権について
著作権は当サイトの管理者に帰属します。
商用利用以外であれば著作権フリーですが、念のためコメントにてお知らせください。
