导航:首页 > 文件教程 > 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遍历文件相关的资料

热点内容
mx5系统基带版本 浏览:184
ntlea全域通win10 浏览:171
qq怎么查看别人的收藏 浏览:135
地震三参数matlab程序 浏览:57
怎样给优盘文件加密软件 浏览:7
收拾文件有哪些小妙招 浏览:431
pdf文件去底网 浏览:253
win10重装系统需要格式化c盘吗 浏览:424
路由器trx文件 浏览:655
淘宝店铺数据包怎么做 浏览:195
win10键盘黏连 浏览:332
json如何生成表格 浏览:323
怎么修复sql数据库表 浏览:40
微信微博差别 浏览:163
签到积分换礼品app 浏览:812
mfc最近打开文件 浏览:672
app埋点平台都有哪些app 浏览:314
瑞斯康达网络管理界面 浏览:254
ca证书管理器linux 浏览:358
苹果id安全提示问题3个字符 浏览:949

友情链接