Чтение онлайн

ЖАНРЫ

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:
Листинг 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
.

В качестве примера использования метода

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
.

Таблица 5.3. Варианты работы метода

GetAbsolutePathName

Параметр
pathspec
Возвращаемое значение
"С:"
"С:\MyDocuments\Reports"
"С:.."
"С:\MyDocuments"
"С:\\"
"С:\"
"Region1"
"С:\MyDocuments\Reports\Region1"
"С:\\..\\..\\MyDocuments"
"С:\МуDocuments"
 

Метод GetBaseName

Работу этого метода иллюстрирует сценарий BaseName.js, приведенный в листинге 5.3. В результате выполнения этого сценария на экран выводится диалоговое окно, в котором отражены полный путь к файлу и базовое имя, выделенное из этого пути (рис. 5.1).

Рис. 5.1. Полный путь к файлу и базовое имя для этого пути

Листинг 5.3. Выделение базового имени файла

/*******************************************************************/

/* Имя: BaseName.js */

/* Язык: JScript */

/* Описание: Создание текстового файла и запись в него строки */

/*******************************************************************/

var FSO, BaseName, SPath,s; //Объявляем переменные

//Создаем объект FileSystemObject

FSO = WScript.CreateObject("Scripting.FileSystemObject");

//Задаем путь к файлу

SPath="C:\\Мои документы\\letter.txt";

//Выделяем базовое имя файла (без расширения)

BaseName = FSO.GetBaseName(SPath);

//Выводим на экран путь и базовое имя

s="Путь: "+SPath+"\n";

s+="Базовое имя: "+BaseName;

WScript.Echo(s);

/************* Конец *********************************************/
 

Метод GetDrive

Параметр

drivespec
в данном методе может задаваться одной буквой (например, "
С
"), буквой с двоеточием ("
С:
"), буквой с двоеточием и символом разделителя пути ("
С:\\
"). Для сетевого диска drivespec можно указывать в формате UNC (например, "
Server1\\Programs
").

Поделиться с друзьями: