Перебор файлов в каталоге без использования FindFirstFile - PullRequest
3 голосов
/ 12 января 2011

Как в операционной системе Windows выполнять итерацию файлов в заданном каталоге без использования сторонних библиотек или использования FindFirstFile, FindNextFile и т. Д.

Ответы [ 3 ]

3 голосов
/ 12 января 2011

Учитывая, что FindFirstFile является основным методом перечисления файлов в Windows, что еще вы ожидаете получить?Существуют функции NT API (ZwQueryDirectoryFile и аналогичные), которые вызываются FindFirstFile, но они более сложны и не дают реальной выгоды.

0 голосов
/ 12 января 2011

Единственный известный мне способ перечисления файлов в каталоге - использование объекта Scripting.FileSystemObject, который является частью библиотеки сценариев Windows.Вы можете использовать этот объект в C ++, Delphi или любом другом языке, который поддерживает доступ к COM.

проверьте этот пример кода в vbscript

Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\test"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
    Wscript.Echo objFile.Name
Next
0 голосов
/ 12 января 2011

Если вы можете использовать управляемый код, программирование будет немного проще с Directory.EnumerateFiles .

Возвращает перечисляемую коллекцию имена файлов по указанному пути.

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