Объект FileSystemObject: работа с файловой системой Windows

Работа с файловой системой Windows средствами Windows Script Host осуществляется с помощью встроенного объекта FileSystemObject, его возможности довольно обширны. Вы можете получить доступ к базовым компонентам файловой системы Windows – файлам, папкам и дискам, а также производить считывание и запись информации, изменение атрибутов и свойств.

Что бы получить доступ к функционалу FileSystemObject нужно прежде все создать экземпляр ссылки на него:

VBScript:

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set fso = CreateObject("Scripting.FileSystemObject")

JScript:

var fso = WScript.CreateObject("Scripting.FileSystemObject");
var fso = new ActiveXObject("Scripting.FileSystemObject");

Давайте рассмотрим методы компонента для работы с файловой системой Windows, а также объекты и коллекции к которым он позволяет получить доступ.

Методы

CopyFile(source, destination [,overwrite]) – копируем файл из одного места (source – можно использовать подстановочные знаки: «?» и «*») в другое (destination), overwrite – если параметр установлен в true – будет происходить замена, false – не производить замены (по умолчанию).
CopyFolder(source, destination [,overwrite]) – копирование каталога из одного места в другое.
CreateTextFile(filename [,overwrite[,Unicode]]) – создать текстовый файл (filename), параметр Unicode определяет кодировку: true (1) – Unicode, false (1) —  ASCII.
DeleteFile( filespec [,force]) — Удаляет файл, путь к которому задан параметром filespec (можно использовать подстановочные символы), параметр force —  если равен false или не указан, то нельзя удалить файл/каталог с ат­рибутом «только для чтения» (read-only), true — можно. Файловая система Windows.
DeleteFolder(folderspec [,force]) — Удаляет каталог, путь к которому задан параметром folderspec (можно использовать подстановочные символы), вместе со всем содержимым.
DriveExists(drivespec) — Вернет True, если устройство (drivespec) существует и False – если нет. Для дисководов со съемными носителями метод DriveExists вернет true даже в том случае, если носитель физически отсутствует. Чтобы определить готов ли дисковод, используется свойство isReady объекта Drive. Файловая система Windows.
GetAbsolutePathName(parthspec) – Позволяет получить полный путь для заданного относительного пути pathspec (из текущего  каталога).
GetBaseName(path) — Позволяет получить базовое имя (без расширения) для последнего компонента в пути path.
GetExtensionName(path) — Возвращает расширение для последнего компонента в пути path.
GetDrive(drivespec) — Позволяет получить объект Drive, который соответствует диску, что задан параметром drivespec (например, «С», «С:», («C:\»). Для сетевого ресурса можно использовать формат UNC (например, «Server1\\Programs»). Файловая система Windows.
GetParentFolderName(path) – Строка, которая содержит имя родительского каталога для последнего компонента в заданном пути (path).
GetSpecialFolder( folderpec) – Позволяет получить доступ к объекту Folder для некоторых специальных папок Windows, которые заданы числовым параметром folderspec: WindowsFolder – каталог Windows (0), SystemFolder — системный каталог (1), содержащий файлы библиотек, шрифтов и драйверы устройств, TemporaryFolder — Каталог для временных файлов (2), путь к которому хранится в переменной среды ТМР. Файловая система Windows.
GetTempName() – Позволяет получить случайно сгенерированное имя файла или папки.
MoveFile(source, destination) — Перемещает один или несколько файлов из одного места (source — можно использовать подстановочные знаки) в другое (destination).
MoveFolder(source,  destination) – Перемещает один или несколько каталогов из одного места  (source – можно использовать подстановочные знаки) вдругое (destination).
OpenTextFile(filename [,iomode [,create [,format]]]) – Открывает текстовый документ (filename) и предоставляет доступ к объекту Textstream. Параметр create имеет значение в том случае, когда открываемый файл фи­зически не существует. Если create равно true, то этот файл создастся, ес­ли false или отсутствует, то файл создаваться не будет. Файловая система Windows.

Параметр iomode – задает режим доступа: ForReading — только чтение (1), ForWriting — для записи (2), ForAppending — для добавления (8).

Параметр format – задает кодировку: TristateUseDefault – формат системы по умолчанию (-2), TristateTrue — формат Unicode (-1), TristateFalse – формат ASCII (0).

CreateFolder(foldername) – Создать каталог с именем foldername. Если  каталог  foldername  уже  существует, то произойдет ошибка.
BuildPath(path, name) – Позволяет добавить к пути (path) новое имя (name).
FolderExists(folderspec) — Вернет True, если данный каталог folderspec существует и False – если нет. Файловая система Windows.
FileExists(filespec) – Вернет True, если данный файл (filespec) существует  и  False – если нет.
GetFile(filespec) – Позволяет получить доступ к объекту File, который соответствует файлу filespec. Если документ filespec, не существует, то при выполнении метода GetFile возникнет ошибка.
GetFileName(pathspec) – Вернет имя файла, который задан полным путем к нему. Если выделить имя нельзя, то вернется пустая строка («»).Файловая система Windows.
GetFolder(folderpec) – Позволяет получить доступ к объекту Folder, который соответствует каталогу folderspec. Если папки folderspec нет, то при выполнении метода GetFile возникнет ошибка.

Так же при работе с файловой системой Windows, объект FileSystemObject позволяет получить доступ к следующим объектам коллекциям: Drive и Drives, Folder и Folders, File и Files, Textstream.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий