Сами названия методов объекта FileSystemObject довольно прозрачно указывают на выполняемые ими действия. Приведем необходимые пояснения и примеры для перечисленных методов.
Методы CopyFile и CopyFolder
Для копирования нескольких файлов или каталогов в последнем компоненте параметра source можно указывать групповые символы "?" и "*"; в параметре destination групповые символы недопустимы. Например, следующий пример является корректным кодом:
FSO = WScript.CreateObject("Scripting.FileSystemObject");
FSO.CopyFile("с:\\mydocuments\\letters\\*.doc", "с:\\tempfolder\\");
А так писать нельзя:
FSO = WScript.CreateObject("Scripting.FileSystemObject");
FSO.CopyFile("с:\\mydocuments\\*\\R1???97.xls", "с:\\tempfolder");
Необязательный параметр overwrite является логической переменной, определяющей, следует ли заменять уже существующий файл/каталог с именем destination (overwrite=true) или нет (overwrite=false).
При использовании методов CopyFile и CopyFolder процесс копирования прерывается после первой возникшей ошибки (как и в команде COPY операционной системы).
Метод CreateTextFile
Параметр overwrite, используемый в методе, имеет значение в том случае, когда создаваемый файл уже существует. Если overwrite равно true, то такой файл перепишется (старое содержимое будет утеряно), если же в качестве overwrite указано false, то файл переписываться не будет. Если этот параметр вообще не указан, то существующий файл также не будет переписан.
Параметр unicode является логическим значением, указывающим, в каком формате (ASCII или Unicode) следует создавать файл. Если unicode равно true, то файл создается в формате Unicode, если же unicode равно false или этот параметр вообще не указан, то файл создается в режиме ASCII.
Для дальнейшей работы с созданным файлом, т.е. для записи или чтения информации, нужно использовать методы объекта TextStream. Соответствующий пример сценария приведен в листинге 5.1.
/*******************************************************************/
/* Имя: CreateFile.js */
/* Язык: JScript */
/* Описание: Создание текстового файла и запись в него строки */
/*******************************************************************/
var FSO,f; //Объявляем переменные
//Создаем объект FileSystemObject
FSO = WScript.CreateObject("Scripting.FileSystemObject");
//Создаем на диске C: текстовый файл TestFile.txt
f = FSO.CreateTextFile("C:\\TestFile.txt", true);
//Записываем строку в файл
f.WriteLine("Привет!");
//Закрываем файл
f.Close();
/************* Конец *********************************************/
Методы DeleteFile и DeleteFolder
Параметры filespec или folderspec, используемые в методах, могут содержать групповые символы "?" и "*" в последнем компоненте пути для удаления сразу нескольких файлов/каталогов.
Если параметр force равен false или не указан вовсе, то с помощью методов DeleteFile или DeleteFolder будет нельзя удалить файл/каталог с атрибутом "только для чтения" (read-only). Установка для force значения true позволит сразу удалять такие файлы/каталоги.
При использовании метода DeleteFolder неважно, является ли удаляемый каталог пустым или нет — он удалится в любом случае
Если заданный для удаления файл/каталог не будет найден, то возникнет ошибка.
Метод DriveExists
Для дисководов со съемными носителями метод DriveExists вернет true даже в том случае, если носитель физически отсутствует. Для того чтобы определить готовность дисковода, нужно использовать свойство IsReady соответствующего объекта Drive.