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

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:
Метод Описание
BuildPath(path, name)
Добавляет к заданному пути (параметр
path
) новое имя (параметр
name
)
CopyFile(source, destination [, overwrite])
Копирует один или несколько файлов из одного места (параметр
source
) в другое (параметр
destination
)
CopyFolder(source, destination [, overwrite])
Копирует каталог со всеми подкаталогами из одного места (параметр
source
) в другое (параметр
destination
)
CreateFolder(foldername)
Создает новый каталог с именем
foldername
.
Если каталог
foldername
уже существует, то произойдет ошибка
CreateTextFile(filename [/overwrite[, unicode]])
Создает новый текстовый файл с именем
filename
и возвращает указывающий на этот файл объект
TextStream
DeleteFile(filespec [, force])
Удаляет файл, путь к которому задан параметром
filespec
DeleteFolder(folderspec [, force])
Удаляет каталог, путь к которому задан параметром
folderspec
, вместе со всем его содержимым
DriveExists(drivespec)
Возвращает
True
, если заданное параметром
drivespec
устройство существует и
False
в противном случае
FileExists(filespec)
Возвращает
True
, если заданный параметром
filespec
файл существует и
False
в противном случае
FolderExists(folderspec)
Возвращает
True
, если заданный параметром
folderspec
каталог существует и
False
в противном случае
GetAbsolutePathName(pathspec)
Возвращает полный путь для заданного относительного пути
pathspec
(из текущего каталога)
GetBaseName(path)
Возвращает базовое имя (без расширения) для последнего компонента в пути
path
GetDrive(drivespec)
Возвращает объект
Drive
, соответствующий диску, заданному параметром
drivespec
GetDriveName(path)
Возвращает строку, содержащую имя диска в заданном пути. Если из параметра
path
нельзя выделить имя диска, то метод возвращает пустую строку (" ")
GetExtensionName(path)
Возвращает строку, содержащую расширение для последнего компонента в пути
path
. Если из параметра
path
нельзя выделить компоненты пути, то
GetExtensionName
возвращает пустую строку (""). Для сетевых дисков корневой каталог (\) рассматривается как компонент пути
GetFile(filespec)
Возвращает объект
File
, соответствующий файлу, заданному параметром
filespec
.
Если файл, путь к которому задан параметром
filespec
,
не существует, то при выполнении метода
GetFile
возникнет ошибка
GetFileName(pathspec)
Возвращает имя файла, заданного полным путем к нему. Если из параметра
pathspec
нельзя выделить имя файла, метод
GetFileName
возвращает пустую строку ("")
GetFolder(folderpec)
Возвращает объект
Folder
, соответствующий каталогу, заданному параметром
folderspec
.
Если каталог, путь к которому задан параметром
folderspec
, не существует, при выполнении метода
GetFolder
возникнет ошибка
GetParentFolderName(path)
Возвращает строку, содержащую имя родительского каталога для последнего компонента в заданном пути. Если для последнего компонента в пути, заданном параметром
path
,
нельзя определить родительский каталог, то метод возвращает пустую строку ("")
GetSpecialFolder(folderpec)
Возвращает объект
Folder
для некоторых специальных папок Windows, заданных числовым параметром
folderspec
GetTempName
Возвращает случайным образом сгенерированное имя файла или каталога, которое может быть использовано для операций, требующих наличия временного файла или каталога
MoveFile(source, destination)
Перемещает один или несколько файлов из одного места (параметр
source
) в другое (параметр
destination
)
MoveFolder(source, destination)
Перемещает
один или несколько каталогов из одного места (параметр
source
) в другое (параметр
destination
)
OpenTextFile(filename[, iomode[, create[, format]]])
Открывает заданный текстовый файл и возвращает объект
TextStream
для работы с этим файлом

Сами названия методов объекта

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.

Листинг 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");

Поделиться:
Популярные книги

Свадьба по приказу, или Моя непокорная княжна

Чернованова Валерия Михайловна
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Свадьба по приказу, или Моя непокорная княжна

Сборник коротких эротических рассказов

Коллектив авторов
Любовные романы:
эро литература
love action
7.25
рейтинг книги
Сборник коротких эротических рассказов

Отец моего жениха

Салах Алайна
Любовные романы:
современные любовные романы
7.79
рейтинг книги
Отец моего жениха

Вадбольский

Никитин Юрий Александрович
1. Вадбольский
Фантастика:
попаданцы
5.00
рейтинг книги
Вадбольский

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Повелитель механического легиона. Том VIII

Лисицин Евгений
8. Повелитель механического легиона
Фантастика:
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Повелитель механического легиона. Том VIII

В зоне особого внимания

Иванов Дмитрий
12. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
В зоне особого внимания

Таня Гроттер и магический контрабас

Емец Дмитрий Александрович
1. Таня Гроттер
Фантастика:
фэнтези
8.52
рейтинг книги
Таня Гроттер и магический контрабас

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

Кодекс Крови. Книга ХI

Борзых М.
11. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХI

Третий

INDIGO
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9

Потусторонний. Книга 1

Погуляй Юрий Александрович
1. Господин Артемьев
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Потусторонний. Книга 1