使用VB6
我想从路径中搜索文件。
例如。
Path =“C:\ Newfolder \” 文件名= * .txt,* .fin
我想从newfloder获取所有* .txt,* .fin文件。
需要VB6代码帮助。
答案 0 :(得分:1)
使用Scripting.FileSystemObject。
用GetFolder(“C:\ Newfolder”)调用它,然后循环遍历该文件夹中的文件 .Files属性并使用GetExtensionName方法在扩展上过滤它们。
例如:
Dim fso as Object: Set fso = CreateObject("Scripting.FileSystemObject")
Dim f as Object
For Each f in fso.GetFolder("<folderpath>").Files
If fso.GetExtensionName(f.Path) = "txt" Then 'or maybe it's .txt, I'm not sure
' also test for 'fin'
'... do stuff
End If
Next f
答案 1 :(得分:0)
查看Scripting.FileSystemObject 在您的项目中添加对“Microsoft Scripting Runtime”的引用。
然后你可以这样做:
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
Dim fld As Scripting.Folder
Set fld = fso.GetFolder("d:\temp\newfolder")
Dim i As Integer
Dim ext As String
Dim fl As Scripting.File
For Each fl In fld.files
'get extension
ext = Mid(fl.Name, Len(fl.Name) - 2)
If ext = "txt" Or ext = "fin" Then
'do something with the file
End If
Next fl
这是使.NET变得更好的领域之一。
答案 2 :(得分:0)
在完整的原生VB6中,只需为您提供CDirDrill class即可完成所有操作。来自Karl Peterson的另一个出色的解决方案:)
不建议使用FileSystemObject有以下几个原因:一,它增加了依赖关系,另外两个,它取决于脚本,每个策略可能禁用脚本。我有错误,因为有些客户设法在他们的PC上搞砸了scrrun.dll。消除依赖关系,除非他们真的帮助了你很多。
BTW这个问题与this
重复