Как искать файл по указанному пути? - PullRequest
0 голосов
/ 22 сентября 2009

ИСПОЛЬЗОВАНИЕ VB6

Я хочу найти файл по пути.

Например.

Path = "C: \ Newfolder \" имя файла = * .txt, * .fin

Я хочу получить все файлы * .txt, * .fin с нового флоудера.

Требуется справка по коду VB6.

Ответы [ 3 ]

1 голос
/ 22 сентября 2009

Использование объекта 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
0 голосов
/ 22 сентября 2009

Просто вставьте класс CDirDrill , который сделает все за вас, в полном родном VB6. Еще одно отличное решение от Карла Петерсона :)

FileSystemObject не рекомендуется по нескольким причинам: во-первых, он добавляет зависимость, а во-вторых, это зависит от сценариев, которые могут быть отключены для каждой политики. У меня были ошибки, потому что некоторым клиентам удалось испортить scrrun.dll на их ПК. Устраните зависимости, если они действительно вам не очень помогают.

Кстати, этот вопрос является дубликатом этого

0 голосов
/ 22 сентября 2009

Проверьте объект 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...