Андрей Попов - Windows Script Host для Windows 2000/XP
Метод Copy
Обязательный параметр destination определяет каталог, в который будет производиться копирование; групповые символы в имени каталога недопустимы.
Параметр overwrite является логической переменной, определяющей, следует ли заменять уже существующий каталог с именем destination (overwrite=true) или нет (overwrite=false).
ЗамечаниеВВместо метода РЎРѕСЂСѓ можно использовать метод CopyFolder объекта FileSystemObject.
Метод Delete
Если параметр force равен false или не указан, то с помощью метода Delete будет нельзя удалить каталог с атрибутом "только для чтения" (read-only). Установка для force значения true позволит сразу удалять такие каталоги.
При использовании метода Delete неважно, является ли заданный каталог пустым или нет — он удалится в любом случае.
ЗамечаниеВместо метода Delete можно использовать метод DeleteFolder объекта FileSystemObject.
Метод Move
Обязательный параметр destination определяет каталог, в который будет производиться перемещение; групповые символы в имени каталога недопустимы.
ЗамечаниеВВместо метода Move можно использовать метод MoveFolder объекта FileSystemObject.В
Коллекция Folders
Коллекция Folders содержит объекты Folder для всех подкаталогов определенного каталога. Создается эта коллекция с помощью свойства SubFolders соответствующего объекта Folder. Например, в следующем примере переменная SubFolders является коллекцией, содержащей объекты Folder для всех подкаталогов каталога C:Program Files:
var FSO, F, SubFolders;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Создаем объект Folder для каталога C:Program Files
F=FSO.GetFolder("C:\Program Files");
//Создаем коллекцию подкаталогов каталога C:Program Files
SubFolders=F.SubFolders;
Коллекция Folders (как и Drives) имеет свойство Count и метод Item. Кроме этого, у Folders есть метод Add(folderName), позволяющий создавать новые подкаталоги. В листинге 5.10 приведен сценарий MakeSubFold.js, который создает в каталоге "С:Мои документы" подкаталог "Новая папка".
Листинг 5.10. Создание нового каталога/*******************************************************************/
/* РРјСЏ: MakeSubFold.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Создание нового каталога                             */
/*******************************************************************/
//Объявляем переменные
var FSO, F, SubFolders;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Создаем объект Folder для каталога C:Program Files
F=FSO.GetFolder("C:\Program Files");
//Создаем коллекцию подкаталогов каталога C:Program Files
SubFolders=F.SubFolders;
// Создаем каталог C:Program FilesНовая папка
SubFolders.Add("Новая папка");
/************* Конец *********************************************/
ЗамечаниеВНапомним, что новый каталог также можно создать СЃ помощью метода CreateFolder объекта FileSystemObject.
Для доступа ко всем элементам коллекции нужно использовать, как обычно, объект Enumerator. Например, в листинге 5.11 приведен сценарий ListSubFold.js, в котором на экран выводятся названия всех подкаталогов каталога C:Program Files (рис. 5.5).
Рис. 5.5. Список всех подкаталогов каталога C:Program Files
Листинг 5.11. Построение списка подкаталогов/*******************************************************************/
/* РРјСЏ: ListSubFold.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Получение списка всех подкаталогов заданного каталога */
/*******************************************************************/
//Объявляем переменные
var FSO,F,SFold,SubFolders,s;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Путь к каталогу
SFold="C:\Program Files";
s="Каталог "+SFold+"n";
s+="Подкаталоги:n";
//Создаем объект Folder для каталога C:Program Files
F=FSO.GetFolder(SFold);
//Создаем коллекцию подкаталогов каталога C:Program Files
SubFolders= new Enumerator(F.SubFolders);
//Цикл по всем подкаталогам
for (; !SubFolders.atEnd(); SubFolders.moveNext()) {
 s+=SubFolders.item()+"n"; //Добавляем строку с именем подкаталога
}
//Выводим полученные строки на экран
WScript.Echo(s);
/************* Конец *********************************************/В
Объект File
Объект File обеспечивает доступ ко всем свойствам файла. Создать этот объект можно с помощью метода GetFile объекта FileSystemObject следующим образом:
var FSO, F;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Создаем объект File
F=FSO.GetFile("С:\Мои документахletter.txt");
Также объекты File могут быть получены как элементы коллекции Files. Свойства объекта File описаны в табл. 5.10.
Таблица 5.10. Свойства объекта File
Свойство Описание Attributes Позволяет просмотреть или установить атрибуты файлов DateCreated Содержит дату и время создания файла. Доступно только для чтения DateLastAccessed Содержит дату и время последнего доступа к файлу. Доступно только для чтения DateLastModified Содержит дату и время последней модификации файла. Доступно только для чтения Drive Содержит букву диска для устройства, на котором находится файл. Доступно только для чтения Name Позволяет просмотреть и изменить имя файла. Доступно для чтения и записи ParentFolder Содержит объект Folder для родительского каталога файла. Доступно только для чтения Path Содержит путь к файлу ShortName Содержит короткое имя файла (в формате 8.3) ShortPath Содержит путь к файлу, состоящий из коротких имен каталогов (в формате 8.3) Size Содержит размер заданного файла в байтах Type Возвращает информацию о типе файла. Например, для файла с расширением txt возвратится строка "Text Document"Методы объекта File представлены в табл. 5.11.