SELECT * FROM Vzakladke.net

Статьи об автоматизации и программировании

Получить список файлов в папке на Visual Basic

 

 

Получить список файлов в папке на Visual Basic легко. Достаточно применить filesystemobject - объектная файловая система (FSO), которая представляет собой основанный на объектах инструмент для работы с папками и файлами. Это позволяет вам использовать знакомый синтаксис object.method с богатым набором свойств, методов и событий для работы с папками и файлами в дополнение к использованию традиционных методов и команд Visual Basic.

FSO имеет следующие объекты:

Объект Описание
Drive (Дисковод) Позволяет получить информацию о дисководах, присоединенных к системе: их тип, объем (общий, занятый и свободный), метку, серийный номер и т.д. Обратите внимание, что под словом "дисковод" не обязательно подразумевается жесткий диск. Это может быть FDD, CD-ROM, виртуальный диск и т.д. Также не обязательно, чтобы дисководы были физически присоединены к системе - обеспечивается работа с сетевыми дисками.
Folder (Папка) Позволяет создавать, удалять или перемещать папки. Также через этот объект можно получить сведения об их именах, атрибутах, путях к определенным папкам и так далее.
Files (Файлы) Позволяет создавать, удалять или перемещать файлы. Предоставляет доступ к атрибутам, именам и прочим характеристикам файлов.
FileSystemObject Основной объект группы. Содержит методами, которые позволяют создавать, удалять, получать информацию обо всех объектах файловой системы. Также осуществляет управление дисководами, папками и файлами. Многие из методов, связанных с этим объектом, дублированы в других объектах.
TextStream Дает возможность читать и писать текстовые файлы
 

Различные методы и примеры применения FSO можно найти здесь http://www.script-coding.com/WSH/FileSystemObject.html

Сам код позволяющий получить перечень файлов выглядит таким образом:

Dim objFile
Const ForAppending = 8
dim fso,f,file,files,source

set fso=createobject("scripting.filesystemobject")
source=fso.GetParentFolderName(WScript.ScriptFullName) rem "D:\somefolder\"
Set objFile = fso.OpenTextFile(source & "\log.txt", ForAppending, True)

set f=fso.getfolder(source)
set files=f.files
for each file in files
if right(file.name,3) = "txt" then
	objFile.WriteLine mid(file.name, 1, len(file.name)-4)
end if
next
objFile.Close

Set objFile = Nothing
Set fso = Nothing

WSCript.Echo "Задание обработано." & vbNewLine & "Файл " & source & "\log.txt"
WScript.Quit 0

 

Дата публикации: 2015-05-14 12:17:58

vbs

0

Отзывы:

Ваше имя:

Ваш e-mail (необязательно):

Сообщение:

Captcha