coocare01 发表于 2010-11-8 14:10:54

垃圾清理带扫描临时文件大小





怎么扫到文件夹大小?该怎么写

qq342252004 发表于 2010-11-8 14:48:34

本帖最后由 qq342252004 于 2010-11-8 14:50 编辑

$size = DirGetSize(@HomeDrive)
Msgbox(0,"","大小(MB) :" & Round($size / 1024 / 1024))

$size = DirGetSize(@WindowsDir, 2)
Msgbox(0,"","大小(MB) :" & Round($size / 1024 / 1024))

$timer= TimerInit()
$size   = DirGetSize("\\10.0.0.1\h$",1);试试填入一个真实路径
$diff   = Round(TimerDiff($timer) / 1000)   ; 按秒计时
If IsArray($size) Then
    Msgbox(0,"DirGetSize-信息","大小(字节):" & $size & @LF _
      & "文件:" & $size & @LF & "文件夹:" & $size & @LF _
      & "用时(秒):" & $diff)
EndIf

coocare01 发表于 2010-11-8 15:17:39

还是不行!!

hzxymkb 发表于 2010-11-8 15:30:59

http://www.autoitx.com/thread-19336-1-2.html
参照一下这个工具!

水木子 发表于 2010-11-8 17:37:48

本帖最后由 水木子 于 2010-11-8 17:43 编辑

2楼正解!

#include <File.au3>
#include <GuiListBox.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>

GUICreate("文件搜索", 380, 350)
$ListView1 = GUICtrlCreateListView("路径|占用空间", 5, 5, 370, 300)
_GUICtrlListView_SetColumnWidth($ListView1, 0, 280)
$Input1 = GUICtrlCreateInput("", 5, 310, 300, 21)
$But1 = GUICtrlCreateButton("浏览", 305, 308, 70, 25, $WS_GROUP)
GUISetState()

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case - 3
                        Exit
                Case $But1
                        $var = FileSelectFolder("选择一个文件夹.", "")
                        If @error <> 1 Then
                                GUICtrlSetData($Input1, $var)
                                If StringRight($var, 1) = '\' Then $var = StringLeft($var, StringLen($var) - 1)
                                _GUICtrlListBox_ResetContent($ListView1)
                                Findfile($var)
                        EndIf
        EndSwitch
WEnd

Func Findfile($Path)
        $aFileList = _FileListToArray($Path, '*', 2)
        If Not @error Then
                For $i = 1 To $aFileList
                        $sFolder = DirGetSize($Path & '\' & $aFileList[$i])
                        GUICtrlCreateListViewItem($Path & $aFileList[$i] & '|' & Round($sFolder / 1048576) & '(MB)', $ListView1)
                        ;Findfile($Path & '\' & $aFileList[$i]);递归子文件或文件夹
                Next
        EndIf
EndFunc   ;==>Findfile

coocare01 发表于 2010-11-8 19:09:33

多谢高手,我还想问一个问题,怎么搜索后再显示去大小,还要显示搜索过程
页: [1]
查看完整版本: 垃圾清理带扫描临时文件大小