Объект
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