Файловая система
Файловая система
Для доступа к файловой системе используется следующий вызов: Set имя_объекта = CreateObject("Scripting.FileSystemObject"). Объект поддерживает следующие методы.
? BuildPath("путь к каталогу", "название файла") — создает путь на основе указанного пути к каталогу и имени файла. Иными словами, он просто возвращает строку формата «путь к каталогу» & "" & «имя файла».
? CopyFile «путь и имя копируемого файла», «путь и имя нового файла», «флаг перезаписи» — копирует файл, указанный в первом входном параметре, туда, куда указывает второй входной параметр (и, если необходимо, меняет имя файла). При этом третий входной параметр определяет, будет ли перезаписываться файл, если он уже существует. Если значение третьего входного параметра равно false, то в случае существования файла в каталоге назначения будет происходить ошибка и файл копироваться не будет. Если же значение третьего входного параметра равно true, то файл, если он существу ет в каталоге назначения, будет перезаписан.
? CopyFolder «путь и имя копируемой папки», «путь и имя новой папки», «флаг перезаписи» — работа данного метода аналогична работе предыдущего метода, но вместо файла он копирует папку.
? CreateFolder(«путь к новой папке и ее название») — создает указанную во входном значении папку. При этом после своей работы метод возвращает ссылку на объект, указывающий на созданную папку. Данный объект, ссылка на который возвращается, поддерживает несколько методов. Метод возвращает:
• Path — путь к созданной папке, если же путь не определен, то папка создана не была;
• Size — размер созданной папки и ее содержимого;
• Attributes — битовую маску, указывающую, какие атрибуты определены для данной папки;
• DateCreated — дату создания папки (как время, так и день, месяц и год создания);
• DateLastAccessed — дату последнего доступа к папке (как время, так и день, месяц и год создания);
• DateLastModified — дату последнего изменения содержимого папки (как время, так и день, месяц и год создания);
• Drive — букву логического диска, на котором расположена папка;
• IsRootFolder — значение false, если папка не является корневой;
• Name — название папки. Его же можно получить использованием метода ShortName;
• ParentFolder — каталог, в котором расположена папка;
• Type — тип папки, например, может возвратить значение Папка с файлами;
• ShortPath — путь к папке, включая ее имя.
? CreateTextFile(«путь к текстовому файлу и его название», «флаг перезаписи», «флаг Unicode») — создает указанный текстовый файл и возвращает объект, ссылающийся на созданный текстовый файл. Данный метод требует следующих входных значений:
• Путь к текстовому файлу и его название — именно указанный в данном входном значении текстовый файл и будет создан;
• Флаг перезаписи — если значение данного флага равно true, то в случае существования указанного в первом входном значении файла он будет перезаписан;
• Флаг Unicode — если значение флага равно true, то текстовый файл будет создан с поддержкой Unicode.
Созданный после работы данного метода объект также может использовать некоторые методы, предназначенные для работы с созданным файлом. Рассмотрим некоторые из них:
• Close — завершить работу с данным файлом;
• Column — возвращает количество столбцов, содержащихся в последней строке данного текстового файла;
• Line — возвращает количество строк, содержащихся в данном текстовом файле;
• Write «текст» — записывает в данный файл указанную строку, но не переходит на следующую строку при окончании записи;
• WriteLine «текст» — записывает в данный файл указанную строку и переходит на следующую строку при окончании записи;
• WriteBlankLines(количество строк) — записать в файле столько пустых строк, сколько указано во входном значении метода.
? DeleteFile «путь к файлу» — удаляет указанный во входном значении файл.
? DeleteFolder «путь к файлу» — удаляет указанную во входном значении папку.
? DriveExists(«буква диска:») — возвращает значение true, если указанный во входном параметре логический диск существует. Иначе возвращает значение false.
? Drives(«буква диска:») — возвращает ссылку на объект, с помощью которого можно просмотреть параметры указанного во входном значении диска.
Объект, ссылка на который возвращается, поддерживает следующие методы.
• AvailableSpace — количество свободного места на логическом диске в мегабайтах. Можно также воспользоваться методом FreeSpace.
• DriveLetter — возвращает букву диска (без символа «:»).
• DriveType — идентификатор типа диска. Возможны следующие идентификаторы: 0 — неизвестный тип диска; 1 — съемный; 2 — фиксированный; 3 — удаленный; 4 — компакт-диск; 5 — ОЗУ.
• FileSystem — название файловой системы, установленной на диске.
• Path — путь к диску.
• IsReady — определяет, готов ли диск к работе. Например, если данный метод возвращает значение false при работе с оптическим диском, значит, в данном оптическом приводе отсутствует компакт-диск.
• SerialNumber — серийный номер диска.
• TotalSize — общий размер данного логического диска в мегабайтах.
• VolumeName — название метки диска.
? FileExists «путь к файлу» — возвращает значение true, если указанный во входном значении файл существует.
? FolderExists «путь к папке» — возвращает значение true, если указанная во входном значении папка существует.
? GetBaseName «путь к каталогу» — возвращает название конечного каталога в пути, указанном во входном значении.
? GetDrive «буква диска» — возвращает объект, являющийся ссылкой на указанный логический диск. После получения объекта к нему можно применить те же методы, что и к объекту, получаемому с помощью метода Drives. Например, можно воспользоваться методом TotalSpace, чтобы узнать общий размер диска.
? GetFile «путь к файлу» — возвращает объект, являющийся ссылкой на указанный файл. После получения объекта к нему можно применить те же методы, что и к объекту, получаемому с помощью метода CreateFolder. Например, можно воспользоваться методом DateCreated, чтобы узнать дату создания файла.
? GetFolder «путь к папке» — возвращает объект, являющийся ссылкой на указанную папку. После получения объекта к нему можно применить те же методы, что и к объекту, получаемому с помощью метода CreateFolder. На пример, можно воспользоваться методом DateCreated, чтобы узнать дату создания папки.
? GetFileVersion «путь к файлу» — возвращает версию файла, приведенного во входном значении метода.
? GetTempName — возвращает имя последнего файла ТМР, создаваемого на данном компьютере.
? MoveFile «путь и имя файла», «путь, куда файл будет перемещен, а также его новое имя» — перемещает файл, указанный в первом входном параметре, туда, куда указывает второй входной параметр (и, если необходимо, меняет имя файла).
? MoveFolder «путь и имя каталога», «путь, куда каталог будет перемещен, а также его новое имя» — перемещает каталог, указанный в первом входном параметре, туда, куда указывает второй входной параметр (и, если необходимо, меняет имя каталога).
? OpenTextFile «путь и имя файла», «флаг открытия файла» — открывает файл, указанный в первом входном параметре, с доступом, указанным во втором входном параметре. Второй входной параметр может содержать следующие значения:
• 1 — открыть файл для чтения;
• 2 — открыть файл для перезаписи;
• 8 — открыть файл для дозаписи (записи в конец файла, то есть, не переписывая его содержимое).
При любом способе доступа к файлу метод возвращает указатель на объект, указывающий на открытый файл. Объект, указатель на который был возвращен, поддерживает те же методы, что и объект, получаемый при вызове метода CreateTextFile. Кроме того, если файл открывается с доступом на чтение, то доступны еще и следующие методы:
? ReadLine — считать значение строки и перейти на следующую строку данного файла;
? Read(количество символов) — считать первые n символов из строки данного файла;
? ReadAll — считать все содержимое данного файла;
? Skip — пропустить данное количество символов;
? SkipLine — пропустить следующую строку символов;
? AtEndOfLine — возвращает значение true, если достигнут конец строки;
? AtEndOfStream — возвращает значение true, если достигнут конец файла.