導航:首頁 > 文件教程 > vb遍歷文件

vb遍歷文件

發布時間:2023-07-04 01:23:34

1. vb.net如何遍歷整個文件夾,後找出某一個文件

解壓密碼:1299
假設路徑為C:\abc
代碼

Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim Files As ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetFiles("C:\abc") Dim FileSize As Long, FileName As String = Nothing Dim oFileSize As Long For Each File As String In Files oFileSize = My.Computer.FileSystem.GetFileInfo(File).Length If oFileSize > FileSize Then FileSize = oFileSize FileName = File End If Next Dim ListN As ListViewItem = New ListViewItem(My.Computer.FileSystem.GetName(FileName)) ListN.SubItems.Add(oFileSize & " byte") ListN.SubItems.Add(My.Computer.FileSystem.GetFileInfo(FileName).Extension & " 文件") ListN.SubItems.Add(FileName) ListView1.Items.Add(ListN) End SubEnd Class

詳見源代碼!!

2. 使用VB遍歷文件夾內的所有文件,文件夾內沒有子文件夾,內含的文件最多15萬

首先一個基本概念要先搞清楚:在FAT32文件系統中,一個文件夾內放的文件及子文件夾數量的上限是65534個(如果用了長文件名,這個數量會減少),而在NTFS文件系統中,這個值就變為4G-1即40多億,幾乎是無限了。你說的15萬個文件的文件夾,那很顯然是NTFS系統的。

其次,VB6是上世紀末出生的老古董軟體,是32位的程序開發語言,它誕生的時候,FAT32是當時最常見也是最先進的文件系統,所以VB6也是按FAT32來操作文件的,再考慮到要兼容長文件名,所以VB6本身的控制項和函數在一個文件夾中所能操作的文件數量限制是32767個(折半)。

因此,你這15萬個文件的文件夾是無法用VB本身自帶的控制項或函數來遍歷的,只能使用第三方控制項或組件,比如大名鼎鼎的FSO:

DimfsoAsObject,fdAsObject,fAsObject
Setfso=CreateObject("Scripting.FileSystemObject")
Setfd=fso.GetFolder("要處理的文件夾全路徑名寫在這")
ForEachfInfd.Files
'這里是對遍歷出的每個文件進行操作
'其中f.Name是文件名,f.Path是文件路徑,
'f.Size是文件大小,f.Type是文件類型,等等
'為了防止卡頓,可以在這個循環里用下面這行:
'DoEvents
Next
Setfd=Nothing
Setfso=Nothing

我沒測試,因為我沒有這么多文件的文件夾。

如果這個方法也不行,那就只能用API了。

3. VB.net遍歷某個文件夾,並讀取子目錄中的指定文件

vb.net:
Dim path = System.IO.Directory.GetFiles("D:\Log\abc", "*.txt", SearchOption.AllDirectories):搜索該抄路徑下的所有txt類型的目襲錄及子目錄
path.AddRange(path)
Dim _RecordInfo As String
Dim _Reader As StreamReader
_Reader = New StreamReader(file, System.Text.Encoding.Default):'以Default編碼的形式讀取file文件(文件寫入的編碼要與讀取的編碼一致)

4. VB.net遍歷某個文件夾,並讀取子目錄中的指定文件

vb.net:
Dim
path
=
System.IO.Directory.GetFiles("D:\Log\abc",
"*.txt",
SearchOption.AllDirectories):抄搜索該路徑下的所有txt類型的目錄及子目錄
path.AddRange(path)
Dim
_RecordInfo
As
String
Dim
_Reader
As
StreamReader
_Reader
=
New
StreamReader(file,
System.Text.Encoding.Default):'以Default編碼的形式讀取file文件(文件寫入的編碼要與讀取的編碼一致)

5. VB 如何遍歷文件夾下所有文件,高手請指教

窗體上有四個控制項,命令按鈕command1。列表框list1。驅動器列表Drive1。文件夾列表Dir1。
驅動器和文件夾列表是用來選擇你想要搜索的文件夾。
程序運行時選中你想要搜索的文件夾,單擊搜索按鈕。該文件夾下面所有的文件及子文件夾裡面的文件都列到列表框中。
將代碼復制到窗體即可。代碼如下:

Private Sub Command1_Click()
List1.Clear
sosuofile (Dir1.List(Dir1.ListIndex))
MsgBox "搜索完畢!,共找到" + Str(List1.ListCount) + "條記錄。", vbOKOnly + vbExclamation, "提示"
End Sub

Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Sub sosuofile(MyPath As String)
Dim Myname As String
Dim dir_i() As String
Dim i, idir As Long
If Right(MyPath, 1) <> "\\" Then MyPath = MyPath + "\\"
Myname = Dir(MyPath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)
Do While Myname <> ""

If Myname <> "." And Myname <> ".." Then

If (GetAttr(MyPath & Myname) And vbDirectory) = vbDirectory Then '如果找到的是目錄

idir = idir + 1

ReDim Preserve dir_i(idir) As String

dir_i(idir - 1) = Myname

Else: List1.AddItem "" & MyPath & " " & Myname '把找到的文件顯示到列表框中

End If
End If
Myname = Dir '搜索下一項
Loop
For i = 0 To idir - 1

Call sosuofile(MyPath + dir_i(i))
Next i
ReDim dir_i(0) As String
End Sub

Private Sub Form_Load()
Command1.Caption = "搜索"
End Sub

6. 求大神指點 vb.net 怎麼 遍歷目錄下的所有文件夾和文件夾下的所有文件 exe|txt.bmp|dll ...

IO.Directory.GetDirectories("文件復夾制") '獲取文件夾中的所有子文件夾路徑。
IO.Directory.GetFiles("文件夾") '獲取文件夾下所有文件的路徑。
'子文件夾的子文件夾,用遞歸;

7. VBA中怎麼遍歷所選路徑中所有文件夾及其子文件夾(多個子文件),並返回所有的最底層的文件夾路徑

答:執行"獲取所有文件夾",按提示操作。文件夾清單會顯示在工作表的AB列中。

Sub獲取所有文件夾()
DimDirectoryAsString
WithApplication.FileDialog(msoFileDialogFolderPicker)
.InitialFileName=Application.DefaultFilePath&""
.Title="請選擇一個文件夾"
.Show
If.SelectedItems.Count=0Then
ExitSub
Else
Directory=.SelectedItems(1)
EndIf
EndWith
Cells.ClearContents
CallRecursiveDir(Directory)
EndSub
PublicSubRecursiveDir(ByValCurrDirAsString)
DimDirs()AsString
DimNumDirsAsLong
DimFilesizeAsDouble
DimTotalFolders,SingleFolder
Cells(1,1)="目錄名"
Cells(1,2)="日期/時間"
Range("A1:B1").Font.Bold=True

SetTotalFolders=CreateObject("Scripting.FileSystemObject").GetFolder(CurrDir).SubFolders
Cells(WorksheetFunction.CountA(Range("A:A"))+1,1)=CurrDir
Cells(WorksheetFunction.CountA(Range("B:B"))+1,2)=FileDateTime(CurrDir)
IfTotalFolders.Count<>0Then

ReDimPreserveDirs(0ToNumDirs)AsString
Dirs(NumDirs)=SingleFolder
NumDirs=NumDirs+1
Next
EndIf
Fori=0ToNumDirs-1
RecursiveDirDirs(i)
Nexti
EndSub

8. vb或易語言中如何遍歷c盤中的文件夾,注意只是文件夾,把文件名讀出來

On Error Resume Next
Dim str1 As String, str2
Set fso = CreateObject("Scripting.FileSystemObject")
Set Folders = fso.GetFolder("c:\")
Set fFolder = Folders.SubFolders
Set fFile = Folders.Files
For Each fffolder In fFolder
str1 = str1 & " " & fffolder.Name
Next
MsgBox str1 '遍歷輸出c盤所有文件夾名
For Each fffile In fFile
str2 = str2 & " " & fffile.Name
Next
MsgBox str2 '遍歷輸出c盤所有文件名

閱讀全文

與vb遍歷文件相關的資料

熱點內容
win10ime 瀏覽:271
手機號大數據保護停機是什麼意思 瀏覽:81
兩個蘋果手機怎麼隔空投送app 瀏覽:903
ps修改有褶皺的文件 瀏覽:417
javadbfreader 瀏覽:307
蘋果手機數字代碼是什麼 瀏覽:66
驅動程序順序安裝腳本 瀏覽:665
word文件里怎樣查重 瀏覽:219
mx5系統基帶版本 瀏覽:184
ntlea全域通win10 瀏覽:171
qq怎麼查看別人的收藏 瀏覽:135
地震三參數matlab程序 瀏覽:57
怎樣給優盤文件加密軟體 瀏覽:7
收拾文件有哪些小妙招 瀏覽:431
pdf文件去底網 瀏覽:253
win10重裝系統需要格式化c盤嗎 瀏覽:424
路由器trx文件 瀏覽:655
淘寶店鋪數據包怎麼做 瀏覽:195
win10鍵盤黏連 瀏覽:332
json如何生成表格 瀏覽:323

友情鏈接