Технология ActiveX базируется на технологии Microsoft COM и позволяет создавать и использовать программные компоненты, предоставляющие различные сервисы другим приложениям и операционной системе.

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

Замечательной особенностью элементов управления ActiveX является то, что они могут взаимодействовать друг с другом независимо от языка, на котором они были созданы, и независимо от платформы. Важным при создании концепции ActiveX было то, что элементы управления ActiveX предназначались для использования в сети Интернет.

В данной статье вы научитесь при помощи объектов ActiveX и языка скриптов JavaScript управлять файловой системой компьютера. JavaScript имеет достаточно богатый набор методов и свойств для создания, манипулирования и управления устройствами, файлами и папками. Все эти действия возможны благодаря объекту FileSystemObject, его свойствам и методам. Данный объект является составной частью Microsoft Scripting Engine и поэтому работает только на машинах с операционной системой Microsoft Windows.

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

Метод BuildPath(path, name)

Сопоставляет путь к папке Path с заданным именем файла Name. При этом разделитель автоматически добавляется в указанный путь. Обратите особое внимение, что разделитель в пути отображается всегде двойным обратным слэшем.

Пример:

< SCRIPT LANGUAGE="JavaScript">

var fso = new ActiveXObject("Scripting.FileSystemObject");
var newpath = fso.BuildPath("c:example", "file.txt");
alert(newpath);

< /SCRIPT>

Метод CopyFile(source, destination, overwriteFlag)

Копирует файл Source в файл Destination. Если файл Destination существует, то он будет перезаписан только в том случае, если overwriteFlag установлен в true. Некоторые системы не позволяют перезаписывать файлы ни при каком условии.

Пример:

< SCRIPT LANGUAGE="JavaScript">

var fso = new ActiveXObject("Scripting.FileSystemObject");
var newpath = fso.CopyFile("d:examplefile.txt", "d:examplecopy.txt");

< /SCRIPT>

Метод CopyFolder(source, destination, overwriteFlag)

Аналогично методу CopyFile копирует папки.

Пример:

< SCRIPT LANGUAGE="JavaScript">

var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("d:example", "d:
ewfolder");

< /SCRIPT>

Метод CreateFolder(folderName)

Создает новую папку FolderName и возвращает в качестве выходного параметра ее название:

< SCRIPT LANGUAGE="JavaScript">

var fso = new ActiveXObject("Scripting.FileSystemObject");
var newFolderName = fso.CreateFolder("d:
ew");

< /SCRIPT>

Метод CreateTextFile(fileName, overwriteFlag)

Создает текстовый файл FileName. Если данный файл уже существует, то перезаписывает его, если overwriteFlag установлен в true. Пример:

< SCRIPT LANGUAGE="JavaScript">

var fso = new ActiveXObject("Scripting.FileSystemObject");
var newFileObject = fso.CreateTextFile("d:examplefile.txt", true);

< /SCRIPT>

Метод MoveFile(source, destination)

Перемещает файла Source по адресу Destination. Пример:

< SCRIPT LANGUAGE="JavaScript">

var fso = new ActiveXObject("Scripting.FileSystemObject");
var newpath = fso.MoveFile("d:example	est.txt", "d:file.txt");

< /SCRIPT>

Метод MoveFolder(source, destination)

Перемещает папку Source по адресу Destination. Пример:

< SCRIPT LANGUAGE="JavaScript">

var fso = new ActiveXObject("Scripting.FileSystemObject");
var newpath = fso.MoveFolder("d:
ew", "d:example
ew");

< /SCRIPT>

Метод OpenTextFile(fileName, iomode, create, format)

Открывает текстовый файл FileName на чтение или запись. Параметр IOMode определяет метод открытия файла и может принимать следующие параметры:

ForReading (значение 1) - открытие файла только для чтения;
ForWriting (значение 2) - открытие файла на запись;
ForAppending (значение 8) - открытие файла для дозаписи.

Параметр Create определяет, создавать ли новый файл при открытии (значение true), если на момент применения метода файл FileName не существовал.

Параметр Format указывать на кодировку открываемого файла:

TristateUseDefault (значение -2) - открытие файла в текущей системной кодировке;
TristateTrue (значение -1) - открытие файла в кодировке Unicode;
TristateFalse (значение 0) - открытие файла в кодировке ASCII.

Пример:

< SCRIPT LANGUAGE="JavaScript">

var ForWriting = 2;
var TriStateFalse = 0;
var fso = new ActiveXObject("Scripting.FileSystemObject");
var newFile = fso.OpenTextFile("d:examplefile.html", ForWriting, true, TriStateFalse);

< /SCRIPT>

Метод DeleteFile(fileName, readPermissionFlag)

Удаляет файл FileName. Для удаление файла, права на которого стоят "только для чтения", необходимо установить значение параметра readPermissionFlag в true. Пример:

< SCRIPT LANGUAGE="JavaScript">

var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.DeleteFile("d:examplefile.txt", true);

< /SCRIPT>

Метод DeleteFolder(folderName, readPermissionFlag)

Удаляет каталог FolderName. Параметр readPermissionFlag выполняет ту же функцию, что и в методе DeleteFile(). Пример:

< SCRIPT LANGUAGE="JavaScript">

var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.DeleteFolder("d:example
ew", false);

< /SCRIPT>

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



Постоянные ссылки

При копировании ссылка на TeaM RSN обязательна!

URI

Html (ЖЖ)

BB-код (Для форумов)

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.