FileSystemObject NN n/a  IE 4.0  ECMA n/a

Объект FileSystemObject обеспечивает доступ к файловой системе Windows. Сценарий может создать только один экземпляр данного объекта, сколько бы раз в нем не вызывался данный конструктор. Следующий пример демонстрирует использование объекта FileSystemObject для создания текстового файла и вывода в него строки:

var fso = new ActiveXObject("Scripting.FileSystemObject"); // Создаем объект
var file = fso.CreateTextFile("c:\\test.txt", true); // Создаем файл
file.WriteLine("This is a test."); // Выводим в него строку
file.Close(); // Закрываем файл

Поскольку FileSystemObject обеспечивает нам любые манипуляции с файлами и папками компьютера, то по умолчанию установки безопасности Internet Explorer запрещают его использование на стороне клиента. Поэтому для использования большинства из описанных ниже методов вы должны разрешить исполнение в Internet Explorer небезопасных элементов ActiveX, что серьезно угрожает целостности вашей системы.

 
Создание:

new ActiveXObject("Scripting.FileSystemObject")


Свойства:


Drives NN n/a  IE 4.0  ECMA n/a
  Только чтение
 

Свойство Drives возвращает коллекцию объектов Drive, соответствующих всем физическим и логическим дискам локального компьютера. Для просмотра этой коллекции следует пользоваться объектом Enumerator.

 
Возвращаемое значение:
Строка

Методы:


BuildPath() NN n/a  IE 4.0  ECMA n/a
объект.BuildPath(path, name)  
 

Метод BuildPath добавляет к пути заданное имя и возвращает результирующую строку. При необходимости перед именем добавляется разделитель "\". Например, следующий сценарий

var fso = new ActiveXObject("Scripting.FileSystemObject");
var newpath = fso.BuildPath("c:\\My Documents", "New Folder");
document.write(newpath);

выведет на экран обозревателя текст c:\My Documents\New Folder

 
Возвращаемое значение
Ветвь файлового дерева
 
Параметры
path путь в файловой системе
name конечная точка

CopyFile() NN n/a  IE 4.0  ECMA n/a
объект.CopyFile(source, target [, flag]?)  
 

Метод CopyFile копирует один или несколько файлов. При этом строка source задает спецификацию исходного файла и может содержать подстановочные знаки "*" и "?" в последнем компоненте, строка target задает имя результирующего файла или папки, а необязательный аргумент flag указывает, следует ли заменять при копировании существующие файлы (по умолчанию он равен true, т. е. существующие файлы заменяются). Если источник содержит подстановочные знаки или цель заканчивается символом "\", то цель считается именем папки, в которую копируются исходные файлы. В остальных случаях цель считается именем результирующего файла. Сам процесс копирования происходит так:

  • если нет файлов, соответствующих спецификации источника, то метод завершается ошибкой;
  • если файла с именем цель нет, то производится копирование файла;
  • если файл цель существует и флаг равен false, то метод завершается ошибкой, иначе делается попытка копирования источника поверх цели; при этом независимо от значения флага, попытка замены существующего файла с атрибутом "только для чтения" завершается ошибкой;
  • если цель является каталогом, то метод завершается ошибкой.

Пример: следующий сценарий копирует все файлы из корневой папки дискеты A в папку d:\Temp.

var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile("a:\\*.*", "d:\\Temp");

 
Возвращаемое значение
Нет
 
Параметры
source Исходный файл
target Цель
flag Булево значение

CopyFolder() NN n/a  IE 4.0  ECMA n/a
объект.CopyFolder(source, target [, flag]?)  
 

Метод CopyFolder копирует одну папку в другую, включая подпапки. При этом строка source задает спецификацию исходной папки и может содержать подстановочные знаки "*" и "?" в последнем компоненте, строка target задает имя результирующей папки, а необязательный аргумент flag указывает, следует ли заменять при копировании существующие файлы (по умолчанию он равен true, т. е. существующие файлы заменяются). Если источник содержит подстановочные знаки или цель заканчивается символом "\", то цель считается именем существующей папки, в которую копируются исходные файлы. В остальных случаях цель считается именем новой папки, которую необходимо создать. Сам процесс копирования происходит так:

  • " если нет файлов, соответствующих спецификации источника, то метод завершается ошибкой;
  • " если папки с именем цель нет, то она создается и производится копирование файлов;
  • " если цель задает имя существующего файла, то метод завершается ошибкой;
  • " если файлы исходной папки уже есть в цели и флаг равен false, то метод завершается ошибкой, иначе делается попытка копирования источника поверх цели; при этом независимо от значения флага, попытка замены существующего файла с атрибутом "только для чтения" завершается ошибкой.

Пример: следующий сценарий копирует все файлы и папки из корневой папки дискеты A в папку d:\Temp.

var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("a:\\", "d:\\Temp");

 
Возвращаемое значение
Нет
 
Параметры
source Исходный файл
target Цель
flag Булево значение

CreateFolder() NN n/a  IE 4.0  ECMA n/a
объект.CreateFolder(name)  
 

Метод CreateFolder создает папку с заданным именем. Если такая папка уже есть, то метод завершается ошибкой.
Пример: следующий сценарий создает папку C:\New Folder.

var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateFolder("c:\\New Folder");

 
Возвращаемое значение
Директория
 
Параметры
name Имя директории

CreateTextFile() NN n/a  IE 4.0  ECMA n/a
объект.CreateTextFile(name [[, flag]?, unicode]?)  
 

Метод CreateTextFile создает текстовый файл с заданным именем.

Пример:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var ts = fso.CreateTextFile("c:\\file.txt", false);
ts.WriteLine("Тестовая строка.");
ts.Close();

 
Возвращаемое значение
Текстовый файл
 
Параметры
name Имя файла
flag Cледует ли удалять существующий файл с этим именем (по умолчанию он равен true, т. е. существующие файлы заменяются новыми)
unicode Задает кодировку символов файла (true означает кодировку Unicode, а false - кодировку ANSI; по умолчанию создается файл в кодировке ANSI)

DeleteFile() NN n/a  IE 4.0  ECMA n/a
объект.DeleteFile(name [, flag]?)  
 

Метод DeleteFile удаляет файл с заданным именем. ). Если файла с данным именем нет, то метод завершается ошибкой. Пример:

var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.DeleteFile("c:\\file.txt", true);

 
Возвращаемое значение
Ничего
 
Параметры
name Имя файла
flag Следует ли удалять файл, имеющий атрибут "только для чтения" (по умолчанию он равен false, т. е. такие файлы не удаляются)

DeleteFolder() NN n/a  IE 4.0  ECMA n/a
объект.DeleteFolder(name [, flag]?)  
 

Метод DeleteFile удаляет файл с заданным именем. ). Если файла с данным именем нет, то метод завершается ошибкой. Пример:

var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.DeleteFile("c:\\file.txt", true);

 
Возвращаемое значение
Ничего
 
Параметры
name Имя директории
flag Следует ли удалять папку, имеющий атрибут "только для чтения" (по умолчанию он равен false, т. е. такие папки не удаляются).

DriveExists() NN n/a  IE 4.0  ECMA n/a
объект.DriveExists(name)  
 

Метод DriveExists проверяет, существует ли диск с заданным именем на локальном компьютере, и возвращает соответствующий результат. Строка имя может состоять из буквы, задающей имя диска ("c"), из буквы с двоеточием ("c:"), из буквы с двоеточием и разделителем пути ("c:\\") или содержать спецификацию сетевого диска ("\\computer3\\public1"). Этот метод не проверяет наличие диска в дисководе со сменными дисками, а только существование самого дисковода. Для проверки наличия диска в дисководе пользуйтесь методом Drive.IsReady. Пример:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var b = fso.DriveExists("e"); // true, если есть диск E

 
Возвращаемое значение
Булево значение
 
Параметры
name Имя диска

FileExists() NN n/a  IE 4.0  ECMA n/a
объект.FileExists(name)  
 

Метод FileExists проверяет, существует ли файл с заданным именем на локальном компьютере, и возвращает соответствующий результат. Строка имя должна содержать спецификацию файла.

var fso = new ActiveXObject("Scripting.FileSystemObject");
var b = fso.FileExists("c:\\test.htm"); // true, если данный файл существует

 
Возвращаемое значение
Булево значение
 
Параметры
name Имя файла

FolderExists() NN n/a  IE 4.0  ECMA n/a
объект.FolderExists(name)  
 

Метод FolderExists проверяет, существует ли папка с заданным именем на локальном компьютере, и возвращает соответствующий результат. Строка имя должна содержать спецификацию папки.

var fso = new ActiveXObject("Scripting.FileSystemObject");
var b = fso.FolderExists("c:\\My Pictures"); // true, если данная папка существует

 
Возвращаемое значение
Булево значение
 
Параметры
name Имя директории

GetAbsolutePathName() NN n/a  IE 4.0  ECMA n/a
объект.GetAbsolutePathName(path)  
 

Метод GetAbsolutePathName преобразует заданный путь в полное имя пути и возвращает результирующую строку. Пусть, например, текущим каталогом является c:\My Documents\Letters. Следующая таблица иллюстрирует результаты применения метода GetAbsolutePathName к различным входным аргументам.

имя GetAbsolutePathName(имя)
"" "c:\\My Documents\\Letters"
".." "c:\\My Documents"
"\\" "c:\\"
"oct2000\\*.doc" "c:\\My Documents\\Letters\\oct2000\\*.doc"
"file.txt" "c:\\My Documents\\Letters\\file.txt"
 
Возвращаемое значение
Булево значение
 
Параметры
path Путь в файловой системе

GetBaseName() NN n/a  IE 4.0  ECMA n/a
объект.GetBaseName(path)  
 

Метод GetBaseName извлекает из заданного пути его последний компонент: имя каталога или имя файла. В последнем случае имя файла возвращается без расширения. Примеры:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var s1 = fso.GetBaseName("c:\\My Documents\\Letters"); // s1 равно "Letters"
var s2 = fso.GetBaseName("c:\\My Documents\\Letters\\d1.doc"); // s2 равно "d1"

 
Возвращаемое значение
Строка - имя последнего элемента пути
 
Параметры
path Путь в файловой системе

GetDrive() NN n/a  IE 4.0  ECMA n/a
объект.GetDrive(name)  
 

Метод GetDrive возвращает объект Drive, соответствующий диску с заданным именем. Строка имя может состоять из буквы, задающей имя диска ("c"), из буквы с двоеточием ("c:"), из буквы с двоеточием и разделителем пути ("c:\\") или содержать спецификацию сетевого диска ("\\computer3\\public1"). Если диска с данным именем не существует, метод завершается ошибкой. Пример: следующая функция извлекает имя диска из аргумента путь и возвращает объем свободного пространства на этом диске в мегабайтах.

function DriveSpace(path) {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(path)));
return d.FreeSpace/1024/1024;
}

 
Возвращаемое значение
Строка - имя диска
 
Параметры
name Имя диска

GetDriveName() NN n/a  IE 4.0  ECMA n/a
объект.GetDriveName(path)  
 

Метод GetDriveName извлекает из заданного пути имя диска. Если его там нет, то возвращается пустая строка. Пример:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var d = fso.GetDriveName(fso.GetAbsolutePathName(path));

 
Возвращаемое значение
Строка - имя диска
 
Параметры
path Путь

GetExtensionName() NN n/a  IE 4.0  ECMA n/a
объект.GetExtensionName(path)  
 

Метод GetExtensionName извлекает из заданного пути расширение его последнего компонента, т. е. расширение файла, если это имя файла, и пустую строку, если это имя каталога. Примеры:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var s1 = fso.GetExtensionName("c:\\My Documents\\Letters"); // s1 равно ""
var s2 = fso.GetExtensionName("c:\\My Documents\\Letters\\d1.doc"); // s2 равно "doc"

 
Возвращаемое значение
Строка - расширение файла
 
Параметры
path Путь

GetFile() NN n/a  IE 4.0  ECMA n/a
объект.GetFile(name)  
 

Метод GetFile возвращает объект File, соответствующий файлу с заданным именем. Если файла с данным именем не существует, метод завершается ошибкой. Пример: следующая функция возвращает дату создания заданного файла.

function DateCreated(path) {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFile(path);
return f.DateCreated;
}

 
Возвращаемое значение
Объект File
 
Параметры
name Имя файла

GetFileName() NN n/a  IE 4.0  ECMA n/a
объект.GetFileName(path)  
 

Метод GetFileName извлекает из заданного пути его последний компонент: имя каталога или имя файла. В последнем случае имя файла возвращается вместе с расширением. Примеры:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var s1 = fso.GetBaseName("c:\\My Documents\\Letters"); // s1 равно "Letters"
var s2 = fso.GetBaseName("c:\\My Documents\\Letters\\d1.doc"); // s2 равно "d1.doc"

 
Возвращаемое значение
Объект File
 
Параметры
path Путь к файлу

GetFolder() NN n/a  IE 4.0  ECMA n/a
объект.GetFolder(path)  
 

Метод GetFolder возвращает объект Folder, соответствующий папке с заданным именем. Если папки с данным именем не существует, метод завершается ошибкой. Пример: следующая функция возвращает дату создания заданного папки.

function DateCreated(path) {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder(path);
return f.DateCreated;
}

 
Возвращаемое значение
Объект Folder
 
Параметры
path Путь к директории

GetParentFolderName() NN n/a  IE 4.0  ECMA n/a
объект.GetParentFolderName(path)  
 

Метод GetParentFolderName извлекает из заданного пути отцовскую папку его последнего компонента или пустую строку, если такой папки в пути нет. Примеры:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var s1 = fso.GetParentFolderName("c:\\My Documents\\Letters"); // s1 = "My Documents"
var s2 = fso.GetParentFolderName("file.txt"); // s2 = ""

 
Возвращаемое значение
Объект Folder
 
Параметры
path Путь к директории

GetSpecialFolder() NN n/a  IE 4.0  ECMA n/a
объект.GetSpecialFolder(№)  
 

Метод GetSpecialFolder возвращает объект Folder, соответствующий системной папке, заданной аргументом № согласно следующей таблицы.

Номер Системная папка
0 Папка операционной системы Windows
1 Папка System операционной системы Windows
2 Папка для хранения временных файлов.

Например, в системе Windows 98 будут возвращены следующие имена папок:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var s1 = fso.GetSpecialFolder(0).Path; // s1 равно "C:\\WINDOWS"
var s2 = fso.GetSpecialFolder(1).Path; // s2 равно "C:\\WINDOWS\\SYSTEM"
var s3 = fso.GetSpecialFolder(2).Path; // s3 равно "C:\\WINDOWS\\TEMP"

 
Возвращаемое значение
Объект Folder
 
Параметры
См. таблицу

GetTempName() NN n/a  IE 4.0  ECMA n/a
объект.GetTempName()  
 

Метод GetTempName возвращает случайно сгенерированное имя временного файла. Этим методом следует пользоваться для создания временных файлов, которые после создания и использования будут удалены сценарием. Пример:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var tempFolder = fso.GetSpecialFolder(2);
var tempFile = tempFolder.CreateTextFile(fso.GetTempName());

 
Возвращаемое значение
Строковое значение
 
Параметры
path Путь к директории

MoveFile() NN n/a  IE 4.0  ECMA n/a
объект.MoveFile(source, target)  
 

Метод MoveFile перемещает один или несколько файлов в другое место. При этом строка source задает спецификацию исходного файла и может содержать подстановочные знаки "*" и "?" в последнем компоненте, а строка target задает имя результирующего файла или папки. Если источник содержит подстановочные знаки или цель заканчивается символом "\", то цель считается именем папки, в которую перемещаются исходные файлы. В остальных случаях цель считается именем результирующего файла. Сам процесс перемещения происходит так:

  • если нет файлов, соответствующих спецификации источника, то метод завершается ошибкой;
  • если файла с именем цель нет, то производится перемещение файла;
  • если файл цель существует, то метод завершается ошибкой;
  • если цель является каталогом, то метод завершается ошибкой.

Пример: следующий сценарий перемещает все файлы из корневой папки дискеты A в папку d:\Temp.

var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.MoveFile("a:\\*.*", "d:\\Temp");

 
Возвращаемое значение
Нет
 
Параметры
source Исходный файл
target Результирующая директория или файл

MoveFolder() NN n/a  IE 4.0  ECMA n/a
объект.MoveFolder(source, target)  
 

Метод MoveFolder перемещает одну папку в другую, включая подпапки. При этом строка source задает спецификацию исходной папки и может содержать подстановочные знаки "*" и "?" в последнем компоненте, а строка target задает имя результирующей папки. Если источник содержит подстановочные знаки или цель заканчивается символом "\", то цель считается именем существующей папки, в которую перемещаются исходные файлы. В остальных случаях цель считается именем новой папки, которую необходимо создать. Сам процесс перемещения происходит так:

  • если нет файлов, соответствующих спецификации источника, то метод завершается ошибкой;
  • если папки с именем цель нет, то она создается и производится перемещение файлов;
  • если цель задает имя существующего файла, то метод завершается ошибкой;
  • если файлы исходной папки уже есть в цели, то метод завершается ошибкой.

Пример: следующий сценарий перемещает все файлы и папки из корневой папки дискеты A в папку d:\Temp.

var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("a:\\", "d:\\Temp");

 
Возвращаемое значение
Нет
 
Параметры
source Исходная директория
target Результирующая директория

OpenTextFile() NN n/a  IE 4.0  ECMA n/a
объект.OpenTextFile(name [[[, how]?, flag]?, format]?)  
 

Метод OpenTextFile открывает текстовый файл с заданным именем. При этом необязательный аргумент flag указывает, следует ли создавать новый файл, если файла с таким именем нет (по умолчанию он равен false, т. е. файл не создается).
Необязательный аргумент how задает режим открытия файла и может принимать следующие значения:

1 Открыть файл только для чтения. Принято по умолчанию.
2 Открыть файл для записи. Запись производится с начала файла, старое содержимое теряется.
3 Открыть файл для добавления. Запись производится в конец файла.

Необязательный аргумент format задает кодировку символов файла и может принимать следующие значения:

0 Открыть файл в кодировке ANSI. Принято по умолчанию.
-1 Открыть файл в кодировке Unicode.
-2 Открыть файл в кодировке операционной системы.

Пример открытия файла в режиме добавления:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var ts = fso.OpenTextFile("c:\\file.txt", 8);
ts.WriteLine("Тестовая строка.");
ts.Close();

 
Возвращаемое значение
Нет
 
Параметры
name Имя файла
how См. таблицу
flag Булево значение
format См. таблицу

HIVE: All information for read only. Please respect copyright!
Hosted by hive КГБ: Киевская городская библиотека