BuildPath Метод
Устанавливает переменную для обозначения пути к каталогу.
Синтаксис: object.BuildPath(path, name)
Аргументы: Object - Обязательный. Имя объекта FileSystemObject. path -Обязательный. Существующий путь, добавляемый к переменной. Путь может
быть абсолютный или относительный и не обязательно должен указывать на
существующую папку. name - Обязательный. Имя для выбранного каталога.
Замечания
Метод BuildPath вставляет в случае необходимости дополнительный разделитель
каталогов между существующим путем и именем новой папки.
Пример:
// файл sam7_1.js
// пример использования метода BuildPath
var fso, path, newpath;
path = "c:\\temp";
fso = new ActiveXObject("Scripting.FileSystemObject");
newpath = fso.BuildPath(path, "X_Folder");
WScript.echo(newpath);
WScript.Quit(0);
// конец файла примера
CopyFile Метод
Копирует один или большее количество файлов из одного места в другое.
Аргументы object - Обязательный. Имя объекта FileSystemObject. source - Обязательный. Символьная строка, указывающая расположение
файла(ов), которая может включать групповые символы для одного или большего
количество файлов, которые должны быть скопированы. destination - Обязательный. Символьный строка, указывающая путь, куда файл
или файлы будут скопированы. Здесь групповые символы не допускаются. overwrite - Не обязательный. Булево значение, которое указывает
перезаписывать ли существующие файлы поверх. Если истина, файлы будут
перезаписаны поверх, если ложь - нет. Значение по умолчанию - истина.
Обратите внимание на то, что CopyFile не выполнится, если файл-адресат уже
существует, и имеет атрибут "только для чтения", независимо от установки
режима наложения записи.
Замечания
Групповые символы могут использоваться только в компоненте исходного пути.
Если параметр-источник содержит групповые символы, или параметр-адресат
заканчивается разделителем пути (\), считается, что адресат - папка, куда
будут скопированы файлы. Иначе считается, что адресат - название файла. В
любом случае, существует три ситуации при копировании отдельного файла:
Если целевой файл отсутствует, то источник будет успешно скопирован.
Если целевой файл уже есть, а параметр overwrite установлен в false,
возникает ошибка. Если параметр overwrite установлен в true - источник
будет успешно перезаписан поверх существующего файла.
Если целевой параметр – каталог, возникает ошибка.
Ошибка также возникает, если в источнике используются групповые символы,
не соответствующие ни одному из файлов. Метод CopyFile останавливается на
первой встретившейся ошибке. Внимание: не существует способа,чтобы отменить
любые изменения, сделанные прежде, чем произошла ошибка.
Примеры:
// файл sam7_2.js
// Копирование файлов при помощи метода CopyFile
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile ("c:\\mydocuments\\letters\\*.doc", "c:\\tempfolder\\");
WScript.Quit(0);
// конец файла примера
// файл sam7_3.js
// Копирование файлов при помощи метода CopyFile
// ошибка в синтаксисе
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile ("c:\\mydocuments\\*\\R1???97.xls", "c:\\tempfolder");
WScript.Quit(0);
// конец файла примера
CopyFolder Метод
Рекурсивное копирование папок из одного места в другое.
Аргументы object - Обязательный. Всегда имя объекта FileSystemObject. source - Обязательный. Символьная строка, указывающая путь к каталогу-
источнику, которая может содержать групповые символы подстановки (* или ?)
для копирования одной или более папок одновременно. destination - Обязательный. Символьная строка, указывающая путь к каталогу-
приемнику. Здесь применение символов подстановки недопустимо. overwrite - Не обязательный. Булево значение (true или false), которое
показывает, перезаписывать ли существующие файлы. Если true – файлы будут
перезаписаны; если false - нет. Если параметр опущен, используется величина
по-умолчанию - true.
Замечания
Групповые символы допускается использовать только в конце строки
параметра-источника. Например, можно записать так:
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder ("c:\\mydocuments\\letters\\*", "c:\\tempfolder\\");
Но недопустима следующая запись:
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder ("c:\\mydocuments\\*\\*", "c:\\tempfolder\\");
Если аргумент-источник содержит групповые символы, или аргумент-приемник
содержит символ разделения каталогов (\), предполагается, что каталог
назначения – существующая на диске папка, в которую копируются все папки
и подпапки из источника. Иначе считатся, что приемник – каталог, который
необходимо создать. В этом случае, при копировании отдельных каталогов
возможно четыре варианта развития событий:
Если destination не существует на диске, каталог source и все его
компоненты будут скопированы. Это стандартная ситуация.
Если destination существует в пути назначения как файл, возникает
ситуация ошибки.
Если destination существует как каталог, возможно нормальное
копирование каталога-источника и всех его подкаталогов. Если файлы,
расположенные в источнике, уже существуют в destination, возпожно
возникновение ошибки, если параметр overwrite установлен в false. В
противном случае все существующие файлы будут перезаписаны и их
содержание заменено на содержание файлов из источника.
Если destination – каталог с атрибутом read-only, то при попытке
перезаписать существующие файлы с такм-же атрибутом возникает
ошибка.
Возникновение ошибки также возможно в случае, если в строке source
используются групповые символы, но при этом ни один из каталогов (файлов)
не соответсвует указанному шаблону.
Метод CopyFolder прерывает свое выполнение сразу после первой
встреченной ошибки. В системе не предусмотрена возможность восстановить
какие-то уже сделанные изменения в случае возникновения ошибки.
CreateFolder Метод
Создание каталога.
Синтаксис object.CreateFolder(foldername)
Аргументы object - Обязательный. Всегда имя объекта FileSystemObject. foldername -Обязательный. Строковое выражение, идентифицирующее создаваемый
каталог.
Замечания
Если каталог, указанный для создания уже существует, возникает ошибка.
Пример:
// файл sam7_4.js
// использования метода CreateFolder
// для создания каталога:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateFolder("c:\\new folder");
WScript.Quit(0);
// конец файла примера