- Файловая система
- Регулярные выражения
- Базы данных
- Двоичные данные
- Полезные функции

Работа с каталогами.
Каталогом называется объект файловой системы, служащий для структурирования и упорядочивания дискового пространства, путем группировки файлов и других каталогов. Каталог, находящийся в другом каталоге, называют подкаталогом, вложенным каталогом или дочерним каталогом. Таким образом складывается иерархия, в которой верхний каталог именуется корневым.
Термин "папка" (folder) уже более полувека применяется в иерархических файловых системах для наглядного представления каталога ФС, как аналогии обычной папки для документов. Соответствующие изображения бумажных папок используются в графических пользовательских интерфейсах операционных систем, хотя в некоторых случаях показываемая пользователю папка может не представлять определенного каталога в файловой системе.
Для работы с каталогами в vbs-скрипте необходимо создать объект FileSystemObject, который предоставляет методы для создания, удаления и получения ссылок на каталоги. Например, метод .GetFolder(), принимая в качестве аргумента путь, возвращает объект папки Folder. Коллекции Files и SubFolders объекта Folder дают доступ ко всем дочерним файлам и папкам, находящимся в определенном каталоге. Это позволяет, например, рекурсивно обойти все вложенные в него элементы.
Пример:
Sub printAllPaths(rootFolder, level)'вывести на экран все содержимое определенного каталога
WScript.Echo String(level, "-") & ">" & rootFolder.Name'выводим имя переданного каталога
For Each file In rootFolder.Files'выводим имена всех файлов в каталоге, делая отступ
WScript.Echo String(level + 1, " ") & file.Name
Next
For Each folder In rootFolder.SubFolders'для каждого вложенного каталога запускаем getAllPaths
Call printAllPaths(folder, level + 1)'увеличиваем отступ на 1
Next
End Sub
Set fso = CreateObject("Scripting.FileSystemObject")
Set folderObj = fso.GetFolder(".")'получаем объект нужного каталога
Call printAllPaths(folderObj, 0)'передаем в процедуру объект каталога и уровень вложенности
Процедура clearFolder удаляет и создает папку заново, тем самым как бы очищая ее от содержимого.
Sub ClearFolder(fPath)'удаляет и создает заново директорию
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(fPath) Then
fso.DeleteFolder(fPath)
fso.CreateFolder(fPath)
WScript.Echo "Folder " & Chr(34) & fPath & Chr(34) & " has been cleared."
Else
WScript.Echo "Folder " & Chr(34) & fPath & Chr(34) & " do not exists!"
End If
End Sub
Пример:
Const fPath = "C:\notExistingFolder"
WScript.Echo "Trying to clear folder " & Chr(34) & fPath & Chr(34)
Call clearFolder(fPath)'требуется путь к существующей папке
WScript.Echo "The End"