如何在指定路径中搜索文件?

时间:2009-09-22 10:20:34

标签: vb6

使用VB6

我想从路径中搜索文件。

例如。

Path =“C:\ Newfolder \” 文件名= * .txt,* .fin

我想从newfloder获取所有* .txt,* .fin文件。

需要VB6代码帮助。

3 个答案:

答案 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

重复