フォルダのサイズを表示

By siteadministrator, 5 1月, 2020

以下のコードをエディタに記述して、拡張子をhtaとして保存する。

<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<title>フォルダサイズ表示</title>
</head>
<body>
<p>フォルダサイズ表示</p>
<hr>
<form Name="frm_base">
ドライブ
<select size="1" name="D1">
<SCRIPT LANGUAGE="VBScript">
    On Error Resume Next
    Dim objFs
    Dim strType
    Set objFS = CreateObject("Scripting.FileSystemObject")
    For Each objDrive In objFS.Drives
        Select Case objDrive.DriveType
            Case 0: strType = "不明"
            Case 1: strType = "リムーバブル ディスク"
            Case 2: strType = "ハード ディスク"
            Case 3: strType = "ネットワーク ドライブ"
            Case 4: strType = "CD-ROM"
            Case 5: strType = "RAM ディスク"
        End Select
        Document.Write "<option value='" & _
                objDrive.DriveLetter & _
                ":\'>" & objDrive.DriveLetter & _
                ": (" & strType & ")</option>"
    Next

    Sub OnClick_B1
    '************************************************************
    '
    ' フォルダサイズ表示
    '
    '************************************************************
        Dim objDrive
        strStartFolder = Document.frm_base.D1.Value
        '検査対象フォルダ設定
        Set objDrive = objFs.GetDrive(strStartFolder)
        If objDrive.IsReady Then
            Set objFolder = objFs.GetFolder(strStartFolder)
            Document.Write "<h1>" & strStartFolder & _
                "のフォルダサイズ</h1>" & Date() & " " & time()
            Document.Write "<hr>"
            Document.Write "<table border='1'>"
            Document.Write "<tr><th>フォルダパス</th><th>サイズ</th></tr>"
            ShowSubfolders objFs.GetFolder(strStartFolder)
            Document.Write "</table>"
        Else
            MsgBox "ドライブの準備が出来ていません"
        End If
    End Sub

    '*********************************************************
    '
    ' フォルダサイズ表示再帰関数
    '
    '*********************************************************
    Sub ShowSubFolders(Folder)
        On Error Resume Next

        Document.Write " <tr><td>" & _
                Folder.Path & _
                "</td><td>" & _
                FormatNumber(Folder.Size / (1000 * 1000), 3, -1, 0, -1) & _
                "MB</td></tr>"
        For Each Subfolder in Folder.SubFolders
            Set objFolder = objFs.GetFolder(Subfolder.Path)
            ShowSubFolders Subfolder
        Next
    End Sub
</SCRIPT>
</select><input type="button" value="表示" name="B1" OnClick="OnClick_B1()"></p>
</form>
</body>
</html>

 

 

 

タグ

コメント