Объект File

Объект File обеспечивает доступ ко всем свойствам файла. Создать этот объект можно с помощью метода GetFile объекта FileSystemObject следующим образом:

// Создаем объект FileSystemObject
var FSO = WScript.CreateObject("Scripting.FileSystemObject")

// Создаем объект File
var File = FSO.GetFile ( Filespec)
// Filespec - путь к файлу

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

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

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

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

Copy()Копирует файл в другое место.
Delete()Удаляет файл.
Move()Перемещает файл в другое место.
OpenAsTextStream()Открывает заданный файл и возвращает объект TextStream, который может быть использован для чтения, записи или добавления данных в текстовый файл.

Attributes

Синтаксис

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

File.Attributes [ = flag ]

flag - число, набор флагов атрибутов файла.

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

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

Пример

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

DateCreated

Синтаксис

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

File.DateCreated

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

Дата создания файла.

Пример

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

DateLastAccessed

Синтаксис

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

File.DateLastAccessed

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

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

DateLastModified

Синтаксис

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

File.DateLastModified

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

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

Drive

Синтаксис

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

File.Drive

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

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

Пример

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

Name

Синтаксис

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

File.Name [ = name ]

name - имя файла.

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

Имя файла.

Пример

function ShowFileAccessInfo(filespec)
 { var fso, f, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFile(filespec);
  s = f.Name + " на Диске " + f.Drive + "<br>";
  s += "Создан: " + f.DateCreated + "<br>";
  s += "Просмотрен: " + f.DateLastAccessed + "<br>";
  s += "Модифицирован: " + f.DateLastModified;
  return(s);
 }

ParentFolder

Синтаксис

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

File.ParentFolder

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

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

Пример

function ShowFileAccessInfo(filespec)
 { var fso, f, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFile(filespec);
   s = f.Name + " in " + f.ParentFolder + "<br>";
   s += "Создан: " + f.DateCreated + "<br>";
   s += "Просмотрен: " + f.DateLastAccessed + "<br>";
   s += "Модифицирован: " + f.DateLastModified;
   return(s);
 }

Path

Синтаксис

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

File.Path

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

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

Пример

function ShowFileAccessInfo(filespec)
 { var fso, d, f, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFile(filespec);
   s = f.Path.toUpperCase() + "<br>";
   s += "Создан: " + f.DateCreated + "<br>";
   s += "Просмотрен: " + f.DateLastAccessed + "<br>";
   s += "Модифицирован: " + f.DateLastModified;
   return(s);
 }

ShortName

Синтаксис

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

File.ShortName

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

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

Пример

function ShowShortName(filespec)
 { var fso, f, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFile(filespec);
   s = "Короткое имя для " + "" + f.Name;
   s += "" + "<br>";
   s += ": " + "" + f.ShortName + "";
   return(s);
 }

ShortPath

Синтаксис

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

File.ShortPath

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

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

Пример

function ShowShortPath(filespec)
 { var fso, f, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFile(filespec);
   s = "Короткий путь для " + "" + f.Name;
   s += "" + "
"; s += ": " + "" + f.ShortPath + ""; return(s); }

Size

Синтаксис

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

File.Size

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

Размер файла в байтах.

Пример

function ShowFolderSize(filespec)
 { var fso, f, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFolder(filespec);
   s = f.Name + " занимает " + f.size + " байт.";
   return(s);
 }

Type

Синтаксис

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

File.Type

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

Тип файла. Информация, похожая на ту, которую можно увидеть в палитре свойств файла в проводнике. Например, для файла с расширением txt возвратится строка "Text Document"

Пример

function ShowFileType(filespec)
 { var fso, f, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   if (fso.FolderExists(filespec))
      f = fso.GetFolder(filespec);
   else if (fso.FileExists(filespec))
      f = fso.GetFile(filespec);
   else
      s = "Файл или папка не существуют.";
   s = f.Name + " это " + f.Type;
   return(s);
}

Copy()

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

Синтаксис

File.Copy( Destination, Overwrite )

Параметры

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

Пример

var fso = WScript.CreateObject("Scripting.FileSystemObject");
var f = fso.GetFile("c:\\testfile.txt");
f.Copy("c:\\windows\\desktop\\test2.txt");

Delete()

Метод Delete() удаляет файл.

Синтаксис

File.Delete( Force )

Параметры

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

Пример

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var File = FSO.GetFile("C:\\Test.txt");
File.Delete(true);

Move()

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

Синтаксис

File.Move( Destination )

Параметры

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

Пример

var fso = WScript.CreateObject("Scripting.FileSystemObject");
var f = fso.GetFile("c:\\testfile.txt");
f.Move("c:\\windows\\desktop\\test2.txt");

OpenAsTextStream()

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

Синтаксис

File.OpenAsTextStream( Iomode, Format )

Параметры

Iomode
Необязательный, число. Возможные значения:
  • 1 - Открыть файл только для чтения.
  • 2 - Открыть файл для записи. Если файл уже существовал, его содержимое теряется.
  • 8 - Открыть файл для добавления. Если файл уже существовал, информация будет дописываться в конец файла.
Create
Необязательный, булево (число). Создавать файл, если он не существует (true), или нет (false). По умолчанию - false.
Format
Необязательный, число. Возможные значения:
  • -2 - Открыть файл в формате, используемом системой по умолчанию.
  • -1 - Открыть файл в формате Unicode.
  •  0 - Открыть файл в формате ASCII (по умолчанию).

Пример

var FSO,F,TextStream,s;  //Объявляем переменные

//Инициализируем константы
var ForReading = 1, ForWriting = 2, TristateUseDefault = -2;

//Создаем объект FileSystemObject
FSO = WScript.CreateObject("Scripting.FileSystemObject");

//Создаем в текущем каталоге файл test1.txt
FSO.CreateTextFile("test1.txt");

//Создаем объект File для файла test1.txt
F = FSO.GetFile("test1.txt");

//Создаем объект TextStream (файл открывается для записи)
TextStream = F.OpenAsTextStream(ForWriting, TristateUseDefault);

//Записываем в файл строку
TextStream.WriteLine("Это первая строка");

//Закрываем файл
TextStream.Close();

//Открываем файл для чтения
TextStream=F.OpenAsTextStream(ForReading, TristateUseDefault);

//Считываем строку из файла
s = TextStream.ReadLine();

//Закрываем файл
TextStream.Close();

//Отображаем строку на экране
WScript.Echo("Первая строка из файла test1.txt:\n\n",s);