如何显示硬盘上所有文件夹的大小,不想一个一个看文件夹属性

如何显示硬盘上所有文件夹的大小,不想一个一个看文件夹属性,第1张

直接显庆橘示查看文件大小,可以哗差仿下载一个软件叫做:Folder Size 下载地址:网页链接

这是个免费小软件,下载后直接打开即可。

打开后再工具栏选择要查看的磁盘,如D盘。

等一下下扫描乱纤完毕即可看到该磁盘下所有的文件夹,可以直接看到文件夹代下,如果有子文件夹的话,在右侧会显示子文件夹的大小和包含的文件数量。十分方便快捷。

给你一个比较全的例子做腊蚂 参考一下

<%

' 设定一个演示目录,:)

CONST DirectorY = "../dd/images"

' 用常数定义排序方式

CONST FILE_NAME = 0 '按照名字排序……依次类推

CONST FILE_EXT = 1

CONST FILE_TYPE = 2

CONST FILE_SIZE = 3

CONST FILE_CREATED = 4

CONST FILE_MODIFIED = 5

CONST FILE_AccessED = 6

'获得 排序命令,默认为按照名字排序

req = Request("sortBy")

If Len(req) <1 Then sortBy = 0 Else sortBy = CInt(req)

req = Request("priorSort")

If Len(req) <1 Then priorSort = -1 Else priorSort = CInt(req)

'设置倒序

If sortBy = priorSort Then

reverse = true

priorSort = -1

Else

reverse = false

priorSort = sortBy

End If

' 接下来开始我们真正的代码了。。。

path = Server.MapPath( DIRECTORY )

Set fso = CreateObject("Scripting.FileSystemObject")

Set theCurrentFolder = fso.GetFolder( path )

Set curFiles = theCurrentFolder.Files

' 给这局余些文件做一个循环

Dim theFiles( )

ReDim theFiles( 500 ) ' 我随便定的一个大小

currentSlot = -1 ' start before first slot

' 我们将文件的所有相关信息放到数组里面

For Each fileItem in curFiles

fname = fileItem.Name

fext = InStrRev( fname, "." )

If fext <1 Then fext = "" Else fext = Mid(fname,fext+1)

ftype = fileItem.Type

fsize = fileItem.Size

fcreate = fileItem.DateCreated

fmod = fileItem.DateLastModified

faccess = fileItem.DateLastAccessed

currentSlot = currentSlot + 1

If currentSlot >UBound( theFiles ) Then

ReDim Preserve theFiles( currentSlot + 99 )

End If

' 放到数组纯埋里

theFiles(currentSlot) = Array(fname,fext,ftype,fsize,fcreate,fmod,faccess)

Next

' 现在都在数组里了,开始下一步

fileCount = currentSlot ' 文件数量

ReDim Preserve theFiles( currentSlot )

' 排序

' (8 表示 string)

If VarType( theFiles( 0 )( sortBy ) ) = 8 Then

If reverse Then kind = 1 Else kind = 2 ' 给字符排序

Else

If reverse Then kind = 3 Else kind = 4 '数字、时间。。。

End If

For i = fileCount TO 0 Step -1

minmax = theFiles( 0 )( sortBy )

minmaxSlot = 0

For j = 1 To i

Select Case kind

Case 1

mark = (strComp( theFiles(j)(sortBy), minmax, vBTextCompare ) <0)

Case 2

mark = (strComp( theFiles(j)(sortBy), minmax, vbTextCompare ) >0)

Case 3

mark = (theFiles( j )( sortBy ) <minmax)

Case 4

mark = (theFiles( j )( sortBy ) >minmax)

End Select

If mark Then

minmax = theFiles( j )( sortBy )

minmaxSlot = j

End If

Next

If minmaxSlot <>i Then

temp = theFiles( minmaxSlot )

theFiles( minmaxSlot ) = theFiles( i )

theFiles( i ) = temp

End If

Next

' 结束

%>

<FORM Name="doSort" Method="Get">

<INPUT Type=Hidden Name=priorSort Value="<% = priorSort %>">

<INPUT Type=Hidden Name=sortBy Value="-1">

</FORM>

<SCRIPT Language="javascript">

function reSort( which )

{

document.doSort.sortBy.value = which

document.doSort.submit( )

}

</SCRIPT>

<CENTER>

<FONT Size="+2">

显示<% = (fileCount+1) %>该目录下的文件<% = path %>

</FONT>

<P>

单击排序,再点一次反向排序

<P>

<TABLE Border=1 CellPadding=3>

<TR>

<TH><A HREF="javascript:reSort(0)">文件名</A></TH>

<TH><A HREF="javascript:reSort(1)">扩展名</A></TH>

<TH><A HREF="javascript:reSort(2)">类型</A></TH>

<TH><A HREF="javascript:reSort(3)">大小</A></TH>

<TH><A HREF="javascript:reSort(4)">建立时间</A></TH>

<TH><A HREF="javascript:reSort(5)">上次修改时间</A></TH>

<TH><A HREF="javascript:reSort(6)">上次存取时间</A></TH>

</TR>

<%

For i = 0 To fileCount

Response.Write "<TR>" &vbNewLine

For j = 0 To UBound( theFiles(i) )

Response.Write " <TD>" &theFiles(i)(j) &"</TD>" &vbNewLine

Next

Response.Write "</TR>" &vbNewLine

Next

%>

</TABLE>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12302469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存