-
Notifications
You must be signed in to change notification settings - Fork 0
/
check_directory.vbs
67 lines (53 loc) · 1.93 KB
/
check_directory.vbs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
'----------------------
'获得文件夹的大小
'Author = Alex
'Version = 1.0
'Date = 2017-6-21
'----------------------
Option Explicit
'On Error Resume Next
Dim objFSO, objLocalFolder, strArg, longLocalFolderSize, strSizeMess
dim Warning,Critical,STATUS_OK,STATUS_Warning,STATUS_Critical,STATUS_Unknown,retun_code
'判断是不是没有路径参数
'单位已Bit计算,例如50M 就是50 *1024 * 1024 = 53964800
Warning=53964800
Critical=1073741824
STATUS_OK=0
STATUS_Warning=1
STATUS_Critical=2
STATUS_Unknown=3
If WScript.Arguments.Count < 1 Then
WScript.Echo "No directory"
WScript.Quit STATUS_Unknown
Else
strArg = WScript.Arguments(0)
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLocalFolder = objFSO.GetFolder(strArg)
If objLocalFolder = Empty Then
WScript.Echo "Invalid directory"
WScript.Quit STATUS_Unknown
End If
longLocalFolderSize = objLocalFolder.Size
If longLocalFolderSize>=1024 And longLocalFolderSize<1024*1024 Then
strSizeMess = Round( longLocalFolderSize/1024, 3 ) & "K"
ElseIf longLocalFolderSize>=1024*1024 And longLocalFolderSize<1024*1024*1024 Then
strSizeMess = Round( longLocalFolderSize/1024/1024, 3 ) & "M"
ElseIf longLocalFolderSize>=1024*1024*1024 Then
strSizeMess = Round( longLocalFolderSize/1024/1024/1024, 3 ) & "G"
Else
strSizeMess = longLocalFolderSize & "B"
End If
Set objFSO = Nothing
Set objLocalFolder = Nothing
if longLocalFolderSize > Critical then
WScript.Echo "Critical-directory Size:" & strSizeMess & "| directory_Size=" & longLocalFolderSize & ";" & Warning & ";" & Critical
retun_code=STATUS_Critical
elseif longLocalFolderSize > Warning then
WScript.Echo "Warning-directory Size:" & strSizeMess & "| directory_Size=" & longLocalFolderSize & ";" & Warning & ";" & Critical
retun_code=STATUS_Warning
else
WScript.Echo "OK-directory Size:" & strSizeMess & "| directory_Size=" & longLocalFolderSize & ";" & Warning & ";" & Critical
retun_code=STATUS_OK
end if
WScript.Quit retun_code