Объект Folder обеспечивает доступ к отдельному папке. Он может быть создан методом FileSystemObject.GetFolder или получен чтением свойств Drive.RootFolder и File.ParentFolder.
Свойства объекта Folder
Свойство Описание
Attributes Атрибуты папки.
DateCreated Дата и время создания папки.
DateLastAccessed Дата и время последнего обращения к папке.
DateLastModified Дата и время последнего изменения папки.
Drive Буква диска, на котором находится папка.
Files Коллекция файлов данной папки.
IsRootFolder Проверяет, является ли папка корневой.
Name Имя папки.
ParentFolder Объект Folder папки, в которой находится папка.
Path Путь доступа к папке.
ShortName Короткое имя папки.
ShortPath Короткое имя пути доступа к папке.
Size Размер папки с подпапками.
SubFolders Коллекция подпапок данной папки.
Type Тип папки.
  Методы объекта Folder
Метод Описание
Copy Копирует папку.
CreateTextFile Создает текстовый файл.
Delete Удаляет папку.
Move Перемещает папку.

Свойство Attributes

Синтаксис: объект.Attributes
Атрибуты:  { DontEnum, DontDelete }
Свойство Attributes позволяет читать атрибуты данной папки и изменять некоторые из них. Полностью аналогично свойству File.Attributes.

Свойство DateCreated

Синтаксис: объект.DateCreated
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство DateCreated возвращает дату и время создания данной папки. Пример: следующий сценарий
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("c:\\Program Files");
document.write(f.DateCreated);
выведет на экран обозревателя текст следующего вида: Mon Jul 12 20:43:58 UTC+0600 1999. Примечание. Значение этого свойства имеет нестандартный тип VT_DATE стандарта COM. При присваивании строковой переменной оно автоматически преобразуется в строку указанного вида.

Свойство DateLastAccessed

Синтаксис: объект.DateLastAccessed
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство DateLastAccessed возвращает дату и время последнего доступа к данной папке. Пример: следующий сценарий
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("c:\\Program Files");
document.write(f.DateLastAccessed);
выведет на экран обозревателя текст следующего вида: Mon Jul 12 20:43:58 UTC+0600 1999. Примечание. Значение этого свойства имеет нестандартный тип VT_DATE стандарта COM. При присваивании строковой переменной оно автоматически преобразуется в строку указанного вида.

Свойство DateLastModified

Синтаксис: объект.DateLastModified
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство DateLastModified возвращает дату и время последней модификации данной папки. Пример: следующий сценарий
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("c:\\Program Files");
document.write(f.DateLastModified);
выведет на экран обозревателя текст следующего вида: Mon Jul 12 20:43:58 UTC+0600 1999. Примечание. Значение этого свойства имеет нестандартный тип VT_DATE стандарта COM. При присваивании строковой переменной оно автоматически преобразуется в строку указанного вида.

Свойство Drive

Синтаксис: объект.Drive
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство Drive возвращает букву, идентифицирующую диск, на котором находится данная папка. Если диск является сетевым и не отображен на логический диск, то возвращается пустая строка. Пример:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("c:\\Program Files");
var x = f.Drive;	// x равно "C"

Свойство Files

Синтаксис: объект.Files
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство Files возвращает коллекцию объектов File, соответствующих всем файлам, содержащимся в данной папке, включая скрытые и системные файлы. Для просмотра этой коллекции следует пользоваться объектом Enumerator. Пример: следующий сценарий выведет на экран список всех файлов корневого каталога диска C.
function ShowFileList(folderspec) {
   var fso = new ActiveXObject("Scripting.FileSystemObject");
   var f = fso.GetFolder(folderspec);
   var fc = new Enumerator(f.Files);
   var s = "";
   for (; !fc.atEnd(); fc.moveNext())

s += fc.item() + "<br>"; return s; } document.write(ShowFileList("c:\\"));

Свойство IsRootFolder

Синтаксис: объект.IsRootFolder
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство IsRootFolder возвращает true, если данная папка является корневой, и false в противном случае.

Свойство Name

Синтаксис: объект.Name
Атрибуты:  { DontEnum, DontDelete }
Свойство Name позволяет читать и изменять имя данной папки. Пример:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("c:\\Program Files");
var x = f.Name;	// x равно "Program Files"

Свойство ParentFolder

Синтаксис: fso.ParentFolder
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Метод ParentFolder возвращает объект Folder, соответствующий папке, содержащей данную папку. Если папка является корневой, то возвращается null. Пример:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("c:\\Program Files");
var p = f.ParentFolder;
var x = p.Path;	// x равно "C:\\"

Свойство Path

Синтаксис: объект.Path
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство Path возвращает путь доступа к данной папке. Пример:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("c:\\Program Files");
var x = f.Path;	// x равно "C:\\Program Files"

Свойство ShortName

Синтаксис: объект.ShortName
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство ShortName возвращает имя данной папки в нотации MS-DOS (8 символов на имя файла и 3 символа на расширение). Пример:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("C:\\Multimedia Files\\Graphics\\Animations");
var x = f.ShortName;	// x равно "ANIMAT~1"

Свойство ShortPath

Синтаксис: объект.ShortPath
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство ShortPath возвращает путь доступа к данной папке в нотации MS-DOS (8 символов на имя файла и 3 символа на расширение). Пример:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("C:\\Multimedia Files\\Graphics\\Animations");
var x = f.ShortPath;	// x равно "C:\\MULTIM~1\\GRAPHICS\\ANIMAT~1"

Свойство Size

Синтаксис: объект.Size
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство Size возвращает суммарный размер в байтах всех файлов, содержащихся в данной папке и ее подпапках. Пример:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("c:\\");
var x = f.Size;

Свойство SubFolders

Синтаксис: объект.SubFolders
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство SubFolders возвращает коллекцию объектов Folder, соответствующих всем папкам, содержащимся в данной папке, включая скрытые и системные папки. Для просмотра этой коллекции следует пользоваться объектом Enumerator. Пример: следующий сценарий выведет на экран список всех подпапок корневого каталога диска C.
function ShowFileList(folderspec) {
   var fso = new ActiveXObject("Scripting.FileSystemObject");
   var f = fso.GetFolder(folderspec);
   var fc = new Enumerator(f.SubFolders);
   var s = "";
   for (; !fc.atEnd(); fc.moveNext())

s += fc.item() + "<br>"; return s; } document.write(ShowFileList("c:\\"));

Свойство Type

Синтаксис: объект.Type
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Свойство Type возвращает тип данной папки. Тип — это текстовая строка, соответствующая расширению файла и хранящаяся в системном реестре. Пример:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("C:\\Multimedia Files\\Graphics\\Animations");
var x = f.Type;	// x равно "Папка с файлами" (в русифицированной Windows)

Метод Copy

Синтаксис: объект.Copy(цель [, флаг]?)
Аргументы: цель — строковое выражение

флаг — логическое значение
Метод Copy полностью копирует данную папку. Строка цель задает имя результирующей папки, а необязательный аргумент флаг указывает, следует ли заменять при копировании существующие файлы (по умолчанию он равен true, т. е. существующие файлы заменяются). Сам процесс копирования происходит так:
  • если папки с именем цель нет, то производится копирование папки;
  • если папка цель существует и флаг равен false, то метод завершается ошибкой, иначе делается попытка копирования источника поверх цели; при этом независимо от значения флага, попытка замены существующего файла с атрибутом "только для чтения" завершается ошибкой.
Пример: следующий сценарий копирует папку c:\ в папку d:\Temp.
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("c:\\");
f.Copy("d:\\Temp");
Ср. метод FileSystemObject.CopyFolder.

Метод CreateTextFile

Синтаксис: объект.CreateTextFile(имя [[, флаг]?, unicode]?)
Аргументы: имя — строковое выражение

флаг, unicode — логические выражения Результат: новый объект TextStream
Метод CreateTextFile создает текстовый файл с заданным именем. Он полностью аналогичен методу FileSystemObject.CreateTextFile.

Метод Delete

Синтаксис: объект.Delete(флаг?)
Аргументы: флаг — логическое выражение
Метод Delete удаляет данную папку. При этом необязательный аргумент флаг указывает, следует ли удалять файлы, имеющие атрибут "только для чтения" (по умолчанию он равен false, т. е. такие файлы не удаляются). Папка удаляется независимо от того, пуста оно или нет. Пример:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("C:\\Multimedia Files\\Graphics\\Animations");
f.Delete(true);
Ср. метод FileSystemObject.DeleteFolder.

Метод Move

Синтаксис: объект.Move(цель)
Аргументы: цель — строковое выражение
Метод Move перемещает данную папку в другое место. При этом строка цель задает имя результирующей папки. Сам процесс перемещения происходит так:
  • если папки с именем цель нет, то производится перемещение папки;
  • если папка цель существует, то метод завершается ошибкой.
Пример: следующий сценарий перемещает папку c:\ в папку d:\Temp (но делать этого не нужно!).
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFile("c:\\");
f.Move("d:\\Temp");
Ср. метод FileSystemObject.MoveFolder