Объект Folder

Объект Folder обеспечивает доступ к свойствам каталога. Создать этот объект можно с помощью свойства RootFolder объекта Drive или метода GetFolder и GetSpecialFolder объекта FileSystemObject следующим образом:

var FSO = WScript.CreateObject("Scripting.FileSystemObject");

var Folder = FSO.GetFolder("Путь_к_Каталогу");

Также объекты Folder могут быть получены как элементы коллекции Folders.

Свойства объекта Folder

AttributesПозволяет просмотреть или установить атрибуты каталога.
DateCreatedСодержит дату и время создания каталога.
DateLastAccessedСодержит дату и время последнего доступа к каталогу.
DateLastModifiedСодержит дату и время последней модификации каталога.
DriveСодержит букву диска для устройства, на котором находится каталог.
FilesСодержит коллекцию Files, состоящую из объектов File для всех файлов в каталоге (включая скрытые и системные)
IsRootFolderСодержит true, если каталог является корневым, и false в противном случае
NameПозволяет просмотреть и изменить имя каталога.
ParentFolderСодержит объект Folder для родительского каталога.
PathСодержит путь к каталогу.
ShortNameСодержит короткое имя каталога (в формате 8.3).
ShortPathСодержит путь к каталогу, состоящий из коротких имен каталогов (в формате 8.3).
SizeСодержит размер всех файлов и подкаталогов, входящих в данный каталог, в байтах.
SubFoldersСодержит коллекцию Folders, состоящую из всех подкаталогов каталога (включая подкаталоги с атрибутами "Скрытый" и "Системный").
TypeСодержит информацию о типе каталога.

Методы объекта Folder

Copy()Копирует каталог в другое место.
CreateTextFile()Создает новый текстовый файл с указанным именем и возвращает указывающий на этот файл объект TextStream (этот метод аналогичен одноименному методу объекта FileSystemObject).
Delete()Удаляет каталог.
Move()Перемещает каталог в другое место.

Attributes

Синтаксис

// Свойство. Чтение и запись или только чтение, в зависимости от атрибута.

Folder.Attributes [ = flag ]

flag - набор флагов атрибутов папки.

Возвращаемое значение

Число, набор флагов атрибутов папки. Флаги:

Пример

function ToggleArchiveBit(folderspec)
 { var fso, f, r, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFolder( folderspec )
   if (f.attributes && 2)
     { f.attributes = f.attributes - 2;
       s = "Скрытый бит очищен.";
     }
   else
     { f.attributes = f.attributes + 2;
       s =  "Скрытый бит установлен.";
     }
   return(s);
 }

DateCreated

Синтаксис

// Свойство. Только чтение.

Folder.DateCreated

Возвращаемое значение

Дата создания каталога.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\Program Files");
s = '';
s += "Дата создания - " + Folder.DateCreated + '\n';
s += "Дата последнего доступа - " + Folder.DateLastAccessed + '\n';
s += "Дата последней модификации - " + Folder.DateLastModified + '\n';
s += "Диск - " + Folder.Drive.DriveLetter + '\n';
s += "Это корневой каталог - " + Folder.IsRootFolder + '\n';
s += "Имя - " + Folder.Name + '\n';
s += "Родительский каталог - " + Folder.ParentFolder.Path + '\n';
s += "Путь - " + Folder.Path + '\n';
s += "Короткое имя - " + Folder.ShortName + '\n';
s += "Путь в формате 8.3 - " + Folder.ShortPath + '\n';
s += "Размер - " + Folder.Size + '\n';
s += "Тип каталога - " + Folder.Type + '\n';
WScript.Echo ( s );

DateLastAccessed

Синтаксис

// Свойство. Только чтение.

Folder.DateLastAccessed

Возвращаемое значение

Дата последнего доступа к каталогу.

DateLastModified

Синтаксис

// Свойство. Только чтение.

Folder.DateLastModified

Возвращаемое значение

Дата последней модификации каталога.

Drive

Синтаксис

// Свойство. Только чтение.

Folder.Drive

Возвращаемое значение

Объект Drive диска, на котором находится каталог.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\Program Files");
WScript.Echo ( Folder.Drive.DriveLetter ); // C

Files

Синтаксис

// Свойство. Только чтение.

Folder.Files

Возвращаемое значение

Объект-коллекция Files, содержащая все файлы данного каталога, включая скрытые и системные.

Заметки

Объект-коллекция Files - коллекция интерфейсных объектов класса File, обеспечивающих доступ ко всем файлам в данном каталоге.

Коллекция Files имеет только стандартные свойства коллекций: Count и Item.

Коллекция Files не имеет методов.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\");
WScript.Echo ( Folder.Files.Count );

IsRootFolder

Синтаксис

// Свойство. Только чтение.

Folder.IsRootFolder

Возвращаемое значение

Булево (число). Признак того, является ли каталог корневым.

Пример

function DisplayLevelDepth(pathspec)
 { var fso, f, n, s = "";
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFolder(pathspec);
   n = 0;
   if (f.IsRootFolder)
     s = "Указанный каталог является корневым."
   else
    { do  { f = f.ParentFolder; n++; }
      while (!f.IsRootFolder)
      s = "Глубина данного каталога " + n + " уровней.";
    }
   return(s);
 }

Name

Синтаксис

// Свойство. Чтение и запись.

Folder.Name

Возвращаемое значение

Имя каталога.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\Program Files");
WScript.Echo ( Folder.Name );

// Результат:
// Program Files

ParentFolder

Синтаксис

// Свойство. Только чтение.

Folder.ParentFolder

Возвращаемое значение

Объект "Folder" родительского каталога.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\Program Files");
WScript.Echo ( Folder.ParentFolder );
// Результат:
// Program C:\

Path

Синтаксис

// Свойство. Только чтение.

Folder.Path

Возвращаемое значение

Полный путь к каталогу.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\Program Files");
WScript.Echo ( Folder.Path ); // C:\Program Files

ShortName

Синтаксис

// Свойство. Только чтение.
Folder.ShortName

Возвращаемое значение

Короткое имя каталога в формате 8.3.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\Program Files");
WScript.Echo ( Folder.ShortName );  // PROGRA~1

ShortPath

Синтаксис

// Свойство. Только чтение.

Folder.ShortPath

Возвращаемое значение

Короткий путь к каталогу в формате 8.3.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\Program Files");
WScript.Echo ( Folder.ShortPath );  // C:\PROGRA~1

Size

Синтаксис

// Свойство. Только чтение.

Folder.Size

Возвращаемое значение

Размер всех файлов и подкаталогов, входящих в данный каталог, в байтах.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\Program Files");
WScript.Echo ( "Размер - " + Folder.Size );

SubFolders

Синтаксис

// Свойство. Только чтение.

Folder.SubFolders

Возвращаемое значение

Объект-коллекция Folders, содержащая все подкаталоги данного каталога, включая скрытые и системные.

Примеры

function ShowFolderList(folderspec)
 { var fso, f, fc, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFolder(folderspec);
  fc = new Enumerator(f.SubFolders);
  s = "";
  for (;!fc.atEnd(); fc.moveNext())
    { s += fc.item(); s += "<br>"; }
  return(s);
 }


Создание нового подкаталога:

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\");
var NewFolder = Folder.SubFolders.Add("New Folder");

Type

Синтаксис

// Свойство. Только чтение.

Folder.Type

Возвращаемое значение

Тип каталога. Информация, похожая на ту, которую можно увидеть в палитре свойств каталога в проводнике.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\Program Files");
WScript.Echo ("Тип каталога - " + Folder.Type);

Copy()

Метод Copy() копирует каталог в указанное место.

Синтаксис

Folder.Copy( Destination, Overwrite )

Параметры

Destination
Строка, путь (куда копировать).
Overwrite
Необязательный, булево (число). Заменять каталог, если он существует (true), или нет (false).

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("D:\\Job\\Site");
Folder.Copy ("D:\\");

Move()

Метод Move() перемещает каталог в указанное место.

Синтаксис

Folder.Move( Destination )

Параметры

Destination
Строка, путь (куда перемещать).

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("D:\\Job\\Site");
Folder.Move ("D:\\");

Delete()

Метод Delete() удаляет каталог со всем содержимым.

Синтаксис

Folder.Delete( Force )

Параметры

Force
Необязательный, булево (число). Удалять каталог, если он имеет атрибут "только для чтения" (true), или нет (false).

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\New Folder");
Folder.Delete(true);

CreateTextFile()

Метод CreateTextFile() создаёт новый текстовый файл и возвращает объект TextStream, указывающий на него.

Синтаксис

Folder.CreateTextFile( Filename, Overwrite, Unicode )

Параметры

Filename
Строка, имя файла.
Overwrite
Необязательный, булево (число). Перезаписывать файл, если он существует (true), или нет (false). По умолчанию - false. Если указано false и файл существует - произойдёт ошибка.
Unicode
Необязательный, булево (число). Файл в формате Unicode (true), или ASCII (false). По умолчанию - false.

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var Folder = FSO.GetFolder("C:\\");
var TextStream = Folder.CreateTextFile("Test.txt");