Сами названия методов объекта FileSystemObject
довольно прозрачно указывают на выполняемые ими действия. Приведем необходимые пояснения и примеры для перечисленных методов.
Методы
Для копирования нескольких файлов или каталогов в последнем компоненте параметра 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
(overwrite=true
).
При использовании методов CopyFile
и CopyFolder
процесс копирования прерывается после первой возникшей ошибки (как и в команде COPY
операционной системы).
Метод
Параметр overwrite
равно true
, то такой файл перепишется (старое содержимое будет утеряно), если же в качестве overwrite
false
, то файл переписываться не будет. Если этот параметр вообще не указан, то существующий файл также не будет переписан.
Параметр 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();
/************* Конец *********************************************/
Методы
Параметры filespec
folderspec
Если параметр force
false
или не указан вовсе, то с помощью методов DeleteFile
или DeleteFolder
будет нельзя удалить файл/каталог с атрибутом "только для чтения" (read-only). Установка для force
true
позволит сразу удалять такие файлы/каталоги.
При использовании метода DeleteFolder
неважно, является ли удаляемый каталог пустым или нет — он удалится в любом случае
Если заданный для удаления файл/каталог не будет найден, то возникнет ошибка.
Метод
Для дисководов со съемными носителями метод DriveExists
вернет true
даже в том случае, если носитель физически отсутствует. Для того чтобы определить готовность дисковода, нужно использовать свойство IsReady
соответствующего объекта Drive
.