導航:首頁 > 文件處理 > vb能否檢測文件夾大小

vb能否檢測文件夾大小

發布時間:2022-12-28 22:42:24

❶ vb.net中,不使用FSO方法,怎麼快速的得到文件夾的大小

窗體上添加一個按鈕,代碼如下:
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Button1.Text = "稍等!"
Button1.Enabled = False

Dim MyFolder As String = "C:\Windows"
Dim MyDir As New System.IO.DirectoryInfo(MyFolder)
Dim MyInfo As String = MyFolder + "文件夾的大小是:" + CalculateDirectorySize(MyDir, True).ToString() + "位元組。"
MessageBox.Show(MyInfo, "信息提示", _
MessageBoxButtons.OK, MessageBoxIcon.Information)

Button1.Text = "開始"
Button1.Enabled = True
End Sub

Public Shared Function CalculateDirectorySize(ByVal MyDirectory As System.IO.DirectoryInfo, ByVal IsSubDirectories As Boolean) As Long
Dim MySize As Long = 0
'檢查包含的所有文件
Dim MyFiles() As System.IO.FileInfo = MyDirectory.GetFiles()
For Each MyFile As System.IO.FileInfo In MyFiles
MySize += MyFile.Length
Next
'檢查包含的所有子文件夾
If (IsSubDirectories) Then
Dim MyDirs() As System.IO.DirectoryInfo = MyDirectory.GetDirectories()
For Each MyDir As System.IO.DirectoryInfo In MyDirs
MySize += CalculateDirectorySize(MyDir, True)
Next
End If
Return MySize
End Function

End Class

❷ 有沒有api函數能查看某文件夾占空間大小 vb函數的也行

用FSO的GETFOLDER函數啊下面是FSO操作文件夾的各種實例代碼

』 FSO 文件操作相關
』 FSO 參數詳解:
』 Fso.IsRootFolder=True|False 』是否為根目錄
』 Fso.GetFolder 』讀取文件夾 用法:Set fldr = fso.GetFolder("c:\\Program Files")
』 Fso.FolderExists=True|False 』查找此文件夾是否存在
』 Fso.CreateFolder 』創建文件夾 用法:fso.CreateFolder("c:\\cnbruce")
』 Fso.GetBaseName 』返迴文件夾的名字 用法:fso.GetBaseName("c:\\cnbruce")
』 Fso.DeleteFolder 』刪除指定的文件夾 用法:fso.DeleteFolder("c:\\cnbruce")
』 Fso.MoveFolder 』移動指定的文件夾 用法:fso.MoveFolder("c:\\cnbruce","C:\\Program Files") 將c:\\cnbruce移動到C:\\Program Files下
』 Fso.CopyFolder 』復制指定的文件夾 用法:fso.CopyFolder("c:\\Program Files\\cnbruce","c:\\") 將c:\\Program Files\\cnbruce復制到C:\\下

』 Fso.Drive 』返回驅動器的名字 返回 「D:」
』 Fso.GetDriveName 』提取驅動器名 返回「d:」
』 Fso.GetDrive 』提取驅動器名 返回 「D:」 常用寫法:fso.GetDrive(fso.GetDriveName(drvPath))
』 磁碟驅動器信息
』 Drv.DriveLetter 』返回盤符
』 Drv.VolumeName 』取得驅動器的卷標
』 Drv.TotalSize 』取得空間總大小 返回位元組數,用FormatNumber(Drive.TotalSize/1024,0)格式化,返回多少G
』 Drv.FreeSpace 』剩餘空間大小 返回同上
』 Drv.DriveType 』文件類型 0「設備無法識別」 1「軟盤驅動器」 2「硬碟驅動器」 3「網路硬碟驅動器」 4「光碟驅動器」 5「RAM虛擬磁碟」
』 Drv.FileSystem 』磁碟格式
』 Drv.SerialNumber 』磁碟系列號
』 Drv.IsReady 』是否可用
』 Drv.Path 』磁碟路徑
』 FSO文件操作
』 Txt.OpenTextFile 』打開指定的文件 用法:fso.OpenTextFile(whichfile,1) 參數1:表示「ForReading:只讀,禁寫。」 參數2:表示「ForWriting:可讀,可寫。」 參數8:表示「ForAppending:打開文件並從文件末尾開始寫」
』 Txt.ReadLine 』讀取一整行
』 Txt.Read(7) 』讀取指定數量字元
』 Txt.ReadAll 』讀取文本所有內容
』 Txt.CreateTextFile 』創建文件 用法:Set MyFile = Txt.CreateTextFile(whichfile,True) True即表示能覆蓋已有文件
』 Txt.WriteLine 』向已有文件寫入內容 用法:Txt.WriteLine("歡迎您來到本站")
』 Txt.Name 』返迴文件名稱
』 Txt.ShortPath 』返迴文件短路徑名
』 Txt.Path 』返迴文件物理地址
』 Txt.Attributes 』返迴文件屬性
』 返回值附錄:
』 Normal 0 普通文件。 沒有設置任何屬性
』 ReadOnly 1 只讀文件。 可讀寫
』 Hidden 2 隱藏文件。 可讀寫
』 System 4 系統文件。 可讀寫
』 Directory 16 文件夾或目錄。 只讀
』 Archive 32 上次備份後已更改的文件。 可讀寫
』 Alias 1024 鏈接或快捷方式。 只讀
』 Compressed 2048 壓縮文件。 只讀

』 Txt.Move 』移動指定的文件 用法:Set Txt = fso.GetFile(whichfile) Txt.Move "C:\\"
』 Txt.Copy 』復制指定的文件 用法:Set Txt = fso.GetFile(whichfile) Txt.Copy "D:\\"
』 Txt.delete 』刪除指定的文件 用法:Set Txt = fso.GetFile("d:\\cnbruce.txt") Txt.delete


』 Txt.Size 』返迴文件大小
』 Txt.Type 』返迴文件類型
』 Txt.DateCreated 』返迴文件創建時間
』 Txt.DateLastAccessed 』返迴文件最近訪問時間
』 Txt.DateLastModified 』返迴文件最後修改時間


』 常用函數記錄
』 instr 』用法:alert(instr("Abcde","A"))
』 mid 』用法:alert(mid("abjdllodfjd",2,8)) 說明:顯示從第二位到第8位的這符

❸ vb6.0查看文件大小

如果只是查看大小、修改時間的話,可以直接使用VB內建函數:
Private Sub Form_Load()
dim sOut as string
sOut ="文件大小: " & FileLen("d:\1.exe") & "位元組"
MsgBox sOut
End Sub

❹ vb中如何查看整個文件夾地大小

回答:對象FileSystemObject中地GetFolder地Files(文件個數),Size(文件夾大小)

回答:DimfsoAsNewFileSystemObject』要引microsoftscriptingruntimeDimi,jAslongi=fso.GetFolder("D:\Mytest").Size『文件大小j=fso.GetFolder("D:\Mytest").Files.Count』文件數

回答:給亻爾個簡單地純VB代碼這個沒有包含子目錄地,要有地話能夠用遞歸
VBcode
(freeware)http://www.CodeHighlighter.com/PrivateSubForm_Load()MsgBox"文件總數:"&getDirFileCount("C:\")MsgBox"文件大小和:"&CLng(getDirFileLenTotal("C:\")/1024)&"KB"EndSubFunctiongetDirFileCount(DirNameAsString)AsLongIf(Right(DirName,1)<>"\")ThenDirName=DirName&"\"i=0a=Dir(DirName,vbNormal)While(a<>"")i=i 1a=Dir()WendgetDirFileCount=(DirNameAsString)AsCurrencyIf(Right(DirName,1)<>"\")ThenDirName=DirName&"\"i=0a=Dir(DirName,vbNormal)While(a<>"")i=i FileLen(DirName&a)a=Dir()WendgetDirFileLenTotal=iEndFunction回答:引用_Click().FileSystemObjectSetw=f.GetFolder("e:\music\")Debug.Printw.SizeEndSub回答:回答:FileSystemObject引用文件系統對象,並用它來獲取對象屬性。回答:批處理吧?。。。這個應當有API調用,但是發覺計算時也是在一個一個文件大小加起來地!1.DIR枚舉這個文件夾地一切目錄2.用DIR遍歷每個目錄中地文件和子目錄,比把大小計算加起來,得到每個目錄地大小。。。!最後依據得到地數據,計算整個文件夾地大小!叫李嘉誠ljc007來吧!!!!!!!!!!!!!1!!!!!!

❺ vb如何利用GetFileSize來獲得文件大小

vb來獲得文件大小,有以下幾種方式,其中GetFileSize也是其中一種:
1、利用GetFileSize來獲得,需要先定義GetFileSize的api函數:
Private Declare Function GetFileSize Lib "kernel32" Alias "GetCompressedFileSizeA" (ByVal lpFileName As String, lpFileSizeHigh As Long) As Long
Private Sub Command1_Click()
Dim a
a = GetFileSize("c:\1.zip", ByVal 0&) '文件c:\1.zip 根據情況修改
MsgBox a
End Sub
2、VB自帶的FileLen(filename),推薦此方式
Private Sub Command1_Click()
a = FileLen("c:\1.zip")
MsgBox a
End Sub
3、open打開你文件的方法:
Private Sub Command1_Click()
Open "c:\1.zip" For Input As #1
a = LOF(1)
Close #1
MsgBox a
End Sub
4、還有FSO方法,必須引用FSO組件同時電腦必須支持FSO組件。
建議還是選擇第2種方法,簡單高效。

❻ 在VB中監視一個文件夾

樓上所說的也就是所謂的目錄監視器吧?用API可以完成此任務,不用什麼TIMER就行。
用API(FindFirstChangeNotification)然後建立一個等待事件內核對象,當有事件發生時等待成功,這時你可以進行你想要的操作。
在VB中的API的用法需要你自己探索,我是VC用的好一點,VB不怎麼會用。

❼ vb中如何查看整個文件夾地大小

Public Function GetFolderSize(Folder As String) As Long
'取得文件夾的大小,包含子目錄
On Error GoTo er
Dim Tmp As String
Dim TotalSize As Long
Dim FolderBuff() As String
Dim FolderMax As Long
Dim BuffMax As Long

cur_Folder = IIf(Right(Folder, 1) = "\", Folder, Folder & "\")
Tmp = Dir(cur_Folder & "*.*", vbDirectory)

Do Until Tmp = ""
If Tmp <> "." And Tmp <> ".." Then
If VBA.GetAttr(cur_Folder & Tmp) = vbDirectory Then '目錄
FolderMax = FolderMax + 1
If FolderMax >= BuffMax Then
BuffMax = BuffMax + 1000
ReDim Preserve FolderBuff(BuffMax)
End If
FolderBuff(FolderMax) = cur_Folder & Tmp

Else
TotalSize = TotalSize + FileLen(cur_Folder & Tmp)
End If
End If
Tmp = Dir()
Loop

For i = 1 To FolderMax
TotalSize = TotalSize + GetFolderSize(FolderBuff(i)) '遞歸目錄
Next i
er:
GetFolderSize = TotalSize
Erase FolderBuff
End Function

Private Sub Command1_Click()
'調試部分,供參考
Dim Folder As String
Folder = VBA.Environ("windir")
foldersize = GetFolderSize(Folder)

If foldersize > 1000000000 Then
Tmp = Format(foldersize / 1000000000, "0.00") & " G"
ElseIf foldersize > 1000000 Then
Tmp = Format(foldersize / 1000000, "0.0") & " M"
ElseIf foldersize > 1000 Then
Tmp = Format(foldersize / 1000, "0.0") & " k"
Else
Tmp = Format(foldersize)
End If
MsgBox "文件夾:" & Folder & vbCrLf & "大小:" & Tmp, vbInformation
End Sub

❽ vb 判斷文件大小

這個是文件長度的,至於網路的主機,在想想
FileLen函數
返回
返回一個
Long,代表一個文件的長度,單位是位元組。
語法
FileLen(pathname)
必要的
pathname
參數是用來指定一個文件名的字元串表達式。pathname
可以包含目錄或文件夾、以及驅動器。
說明
當調用
FileLen
函數時,如果所指定的文件已經打開,則返回的值是這個文件在打開前的大小。
注意
若要取得一個打開文件的長度大小,使用
LOF
函數。

閱讀全文

與vb能否檢測文件夾大小相關的資料

熱點內容
我的世界如何查看伺服器種子pc 瀏覽:284
linuxlamp編譯安裝 瀏覽:609
枚舉演算法ppt 瀏覽:184
cmd查看進程命令 瀏覽:956
手機內怎麼刪除APP 瀏覽:834
魚群和鳥群演算法區別 瀏覽:93
pdf尺寸設置 瀏覽:211
android訪問本地伺服器 瀏覽:512
程序員相親被刪除微信 瀏覽:790
centos命令窗口 瀏覽:596
編譯器有幾個好用的 瀏覽:500
資料庫和網站如何搭載伺服器 瀏覽:154
網路流理論演算法與應用 瀏覽:795
java和matlab 瀏覽:388
釘釘蘋果怎麼下app軟體 瀏覽:832
php網站驗證碼不顯示 瀏覽:859
鋁膜構造柱要設置加密區嗎 瀏覽:344
考駕照怎麼找伺服器 瀏覽:885
阿里雲伺服器如何更換地區 瀏覽:972
手機app調音器怎麼調古箏 瀏覽:505