做网站我们更专业,服务我们更用心----厦门优艾网络工作室
建站热线:135~1596~4500

servu空间与实际空间对比脚本

2/22/2006 4:38:06 PM 来源: 作者: 浏览热度( 次) 字号:T|T
分享到:
On Error Resume Next

Dim WshShell, fso
Set WshShell = Wscript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

Call main
Sub main()

    On Error Resume Next
    Const HKEY_LOCAL_MACHINE = &H80000002
    Dim strDir, strDiskQuota, strText
    
    strComputer = "."
    
    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
            strComputer & "\root\default:StdRegProv")
    
    strKeyPath = "SOFTWARE\Cat Soft\Serv-U\Domains\1\UserSettings"
    oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
    
    strText = "用户     空间大小        实际大小" & vbCrLf
    For Each subkey In arrSubKeys
    
        strDir = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Cat Soft\Serv-U\Domains\1\UserSettings\" & subkey & "\HomeDir")
        If IsNull(strDir) Then strDir = "c:\winnt\temp"
        strDiskQuota = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Cat Soft\Serv-U\Domains\1\UserSettings\" & subkey & "\DiskQuota")
        If IsNull(strDiskQuota) Then strDiskQuota = "1|0|0"
        ''Wscript.sleep 10000
    
        arrDiskQuota = Split(strDiskQuota, "|")
        strFolderSize = ShowFolderSize(strDir)
    
        If (CDbl(arrDiskQuota(1)) = 0) Or (CDbl(arrDiskQuota(1)) < CLng(strFolderSize)) Then
            strText = strText & subkey & "      " & arrDiskQuota(1) / 1024 / 1024 & "       " & strFolderSize / 1024 / 1024 & vbCrLf
        End If
    
    Next
    
    Call CreateAfile("Result.txt", strText)
    Wscript.Echo "空间对比完成!"

End Sub

Function ShowFolderSize(filespec)
    Dim f, s
    
    
    If (fso.FolderExists(filespec)) Then
        Set f = fso.GetFolder(filespec)
        s = f.Size
    Else
        s = 0
    End If
    
    ShowFolderSize = s
End Function

Sub CreateAfile(strFileName, strText)

    Dim MyFile
    
    Set MyFile = fso.CreateTextFile(strFileName, True)
    MyFile.WriteLine (strText)
    
    MyFile.Close

End Sub

Set fso = Nothing
返回】 【关闭