Методы 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операционной системы).
Параметр overwrite , используемый в методе, имеет значение в том случае, когда создаваемый файл уже существует. Если overwrite равно true, то такой файл перепишется (старое содержимое будет утеряно), если же в качестве overwrite указано false, то файл переписываться не будет. Если этот параметр вообще не указан, то существующий файл также не будет переписан.
Параметр unicode является логическим значением, указывающим, в каком формате (ASCII или Unicode) следует создавать файл. Если unicode равно true, то файл создается в формате Unicode, если же unicode равно falseили этот параметр вообще не указан, то файл создается в режиме ASCII.
Для дальнейшей работы с созданным файлом, т.е. для записи или чтения информации, нужно использовать методы объекта TextStream. Соответствующий пример сценария приведен в листинге 5.1.
Листинг 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вернет trueдаже в том случае, если носитель физически отсутствует. Для того чтобы определить готовность дисковода, нужно использовать свойство IsReadyсоответствующего объекта Drive.
В качестве примера использования метода DriveExistsприведем функцию ReportDriveStatus, которая возвращает информацию о наличии диска, передаваемого в эту функцию в качестве параметра (листинг 5.2).
Листинг 5.2. Функция ReportDriveStatus
function ReportDriveStatus(drv) {
var FSO, s ="" //Объявляем переменные
//Создаем объект FileSystemObject
FSO = WScript.CreateObject("Scripting.FileSystemObject");
//Проверяем наличие диска drv
if (FSO.DriveExists(drv)) s += "Диск " + drv + " существует.";
else s += "Диск " + drv + " не существует.";
return(s);
}
Функция ReportDriveStatusбудет возвращать информацию о наличии диска, передаваемого в эту функцию в качестве параметра.
Метод GetAbsolutePathName
Для иллюстрации работы этого метода предположим, что текущим каталогом является C:\MyDocuments\Reports. В табл. 5.3 приведены значения, возвращаемые методом GetAbsolutePathName, при различных значениях параметра pathspec .
Читать дальше