Объект Folder — работа с папками Windows

Объект Folder — работа с папками Windows Объектная модель Windows Script Host

Доброго дня всем читателям блога scriptcoding.ru. Сегодня мы затронем такую тему как работа с папками Windows. Прежде всего, мы рассмотрим программные методы для управления каталогами и напишем несколько примеров программного кода.

Работа с папками средствами Windows Script Host осуществляется с помощью встроенного объекта Folder и коллекции Folders. Прежде чем начать работать с директориями, надо получить доступ к классу Folder, это можно сделать с помощью свойства RootFolder класса Drive или методов GetFolder, GetParentFolder и GetSpecialFolder объекта FileSystemObject. Прежде чем переходить к практическим примерам, давайте рассмотрим теорию.

Свойства объекта Folder – работа с папками Windows

Attributes – Позволяет при работе с папками просмотреть или установить для нее атрибуты. Доступные атрибуты можно просмотреть в статье «Объект File: работа с файлами».

DateCreated – Дата и время создания. Только чтение.

DateLastAccessed — Дату и время последнего обращения к каталогу. Только чтение.

DateLastModified — Дату и время последней модификации директории. Только чтение.

Drive – Возвращает букву диска, на котором размещена папка. Только чтение.

Files – Данное свойство позволяет получить доступ к коллекции Files

IsRootFolder – Если указан корневой каталога, то свойство вернет TRUE — 1, иначе, FALSE — 0.

Name – При работе с папками позволяет изменить их имя. Чтение и запись.

ParentFolder – Возвращает родительскую директорию (C:, D: и так далее). Только чтение.

Path — Путь к каталогу.

ShortName  — Короткое имя директории (например, 233_6E~3 ).

ShortPath – Короткий путь (например, C:work233_6E~3 ).

Size – Общий размер в байтах всех файлов и подкаталогов, что входят в данную папку.

SubFolders — Данное свойство позволяет получить доступ к коллекции Folders.

Type— Тип каталога

Методы объекта Folder – работа с Windows папками

работа с Windows папками

Сору(destination [,overwrite]) – При работе с папкой позволяет произвести ее копирование вместе с подкаталогами и файлами в заданное место, destination задает директорию, в которой будет производиться копирование, нельзя использовать подстановочные символы (*,? и так далее), overwrite : значение TRUE – произвести замену, FALSE – нет.

CreateTextFile(filename[,overwrite [,format]]) – Позволяет создать новый текстовый файл с именем filename и возвращает указывающий на этот файл класс Textstream (этот метод аналогичен методу CreateTextFile класса FileSystemObject), format – задает кодировку (ASCII – значение 0 или Unicode – значение 1).

Delete([force]) – При работе с папками позволяет удалить заданный каталог. Если параметр force равен false или отсутствует, то нельзя удалить директорию с атрибутом «только для чтения» (read-only), значение true решит эту задачу. Вместо метода Delete можно использовать метод DeleteFolder класса FileSystemObject.

Move(destination) — Перемещает каталог в другое место, destination определяет куда будет производиться перемещение; подстановочные знаки в имени недопус­тимы. Вместо метода Move можно использовать метод MoveFolder объекта FileSystemObject.

Коллекция Folders

Add(FolderName) – Данные метод при работе с папками позволяет создавать новый каталог. Аналогично, можно использовать метод CreateFolder объекта FileSystemObject.

Ниже я привожу два по работе с папками, первый на VBScript, а второй на JScript.

работаем с папками программно

Пример на языке vbscript:

'**********************************' Объект Drive' Работа с папками' create-folders.vbs'***********************************Dim FSO, GetF, SubFolders2, s, new_folder set fso = WScript.CreateObject("Scripting.FileSystemObject")set new_folder=FSO.CreateFolder("new_folder_vbs")set GetF=FSO.GetFolder(new_folder)set SubFolders2=GetF.SubFolders SubFolders2.Add("Новая папка4")SubFolders2.Add("Новая папка5")SubFolders2.Add("Новая папка6"'Получаем коллекцию вложенных каталоговForEach oFolder In SubFolders2          s = s & oFolder.Path & vbCrLfNextWScript.Echo s

Пример на языке jscript:

//**********************************// Объект Drive// Работа с Windowsпапками// create-folders.js//***********************************var FSO, GetF, SubFolders1, s="", new_folder; FSO = WScript.CreateObject("Scripting.FileSystemObject");new_folder=FSO.CreateFolder("new_folder_js");GetF=FSO.GetFolder(new_folder);SubFolders1=GetF.SubFolders; SubFolders1.Add("Новая папка1");SubFolders1.Add("Новая папка2");SubFolders1.Add("Новая папка3"); //Получаем коллекцию вложенных каталоговSubFolders1=new Enumerator(GetF.SubFolders);for(;!SubFolders1.atEnd(); SubFolders1.moveNext()){       s+=SubFolders1.item()+"n";      }WScript.Echo(s);

Скачать архив с примерами

И так, с программированием мы закончили, теперь давайте разберем примеры. В самом начале мы создаем переменные, которые будут хранить ссылку на нужные классы. Эти классы нужны для доступа к файловой системе и создания новой директории (метод CreateFolder) в текущем каталоге. Последующая работа с папками заключается в создании нескольких подпапок, в самом конце с помощью цикла происходит перебор всех подпапок и вывод полного пути к ним.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий