MyTetra Share
Делитесь знаниями!
Объект FileSystemObject
16.03.2019
23:43
Текстовые метки: FSO
Раздел: !Закладки - VBA - FSO

Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также любые проблемы программирования на различных макроязыках и в скриптовых средах)

Описание объектов Windows Script Host, их свойств и методов

Объект FileSystemObject

Содержание:

1. Создание объекта
2. Свойства
    2.1. Drives
3. Методы
    3.1. CreateFolder
    3.2. CopyFile
    3.3. CopyFolder
    3.4. MoveFile
    3.5. MoveFolder
    3.6. DeleteFile
    3.7. DeleteFolder
    3.8. BuildPath
    3.9. GetAbsolutePathName
    3.10. GetBaseName
    3.11. GetExtensionName
    3.12. GetFileName
    3.13. GetParentFolderName
    3.14. GetDriveName
    3.15. DriveExists
    3.16. FileExists
    3.17. FolderExists
    3.18. GetDrive
    3.19. GetFile
    3.20. GetFolder
    3.21. GetSpecialFolder
    3.22. GetTempName
    3.23. CreateTextFile
    3.24. OpenTextFile
    3.25. GetStandardStream
    3.26. GetFileVersion
4. Объект Drive
    4.1. Создание объекта
    4.2. Свойства
        4.2.1. AvailableSpace
        4.2.2. DriveLetter
        4.2.3. DriveType
        4.2.4. FileSystem
        4.2.5. FreeSpace
        4.2.6. IsReady
        4.2.7. Path
        4.2.8. RootFolder
        4.2.9. SerialNumber
        4.2.10. ShareName
        4.2.11. TotalSize
        4.2.12. VolumeName
5. Объект File
    5.1. Создание объекта
    5.2. Свойства
        5.2.1. Attributes
        5.2.2. DateCreated
        5.2.3. DateLastAccessed
        5.2.4. DateLastModified
        5.2.5. Drive
        5.2.6. Name
        5.2.7. ParentFolder
        5.2.8. Path
        5.2.9. ShortName
        5.2.10. ShortPath
        5.2.11. Size
        5.2.12. Type
    5.3. Методы
        5.3.1. Copy
        5.3.2. Move
        5.3.3. Delete
        5.3.4. OpenAsTextStream
6. Объект Folder
    6.1. Создание объекта
    6.2. Свойства
        6.2.1. Attributes
        6.2.2. DateCreated
        6.2.3. DateLastAccessed
        6.2.4. DateLastModified
        6.2.5. Drive
        6.2.6. IsRootFolder
        6.2.7. Name
        6.2.8. ParentFolder
        6.2.9. Path
        6.2.10. ShortName
        6.2.11. ShortPath
        6.2.12. Size
        6.2.13. Type
        6.2.14. SubFolders
        6.2.15. Files
    6.3. Методы
        6.3.1. Copy
        6.3.2. Move
        6.3.3. Delete
        6.3.4. CreateTextFile
7. Объект TextStream
    7.1. Создание объекта
    7.2. Свойства
        7.2.1. AtEndOfLine
        7.2.2. AtEndOfStream
        7.2.3. Column
        7.2.4. Line
    7.3. Методы
        7.3.1. Close
        7.3.2. Read
        7.3.3. ReadAll
        7.3.4. ReadLine
        7.3.5. Skip
        7.3.6. SkipLine
        7.3.7. Write
        7.3.8. WriteLine
        7.3.9. WriteBlankLines 

1. Создание объекта

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject") 

2. Свойства

2.1. Drives

Синтаксис:

Drives 

Возвращаемое значение: объект-коллекция "Drives".

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
For Each Drive In FSO.Drives
    MsgBox Drive.DriveLetter
Next 

Другой пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Drives = FSO.Drives
MsgBox "Всего дисков - " & Drives.Count
Set DriveC = Drives.Item("C:")
MsgBox "Диск C: имеет метку " & DriveC.VolumeName 

3. Методы

3.1. CreateFolder

Синтаксис:

CreateFolder(<Foldername>) 

Назначение: создаёт каталог с указанным именем.

Параметры:

  • <Foldername> - строка, путь к каталогу. Если такой каталог уже существует, произойдёт ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CreateFolder "C:\New Folder" 

3.2. CopyFile

Синтаксис:

CopyFile(<Source>,<Destination>,<Overwrite>) 

Назначение: копирует один или несколько файлов.

Параметры:

  • <Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?".
  • <Destination> - строка, путь назначения (куда копировать).
  • <Overwrite> - необязательный, булево (число). Перезаписывать существующие файлы, или нет. По умолчанию - True (перезаписывать). Если файл, который нужно перезаписать, имеет атрибут read-only, возникнет ошибка (независимо от установки этого параметра).

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "C:\*.bat", "A:\", 0 

3.3. CopyFolder

Синтаксис:

CopyFolder(<Source>,<Destination>,<Overwrite>) 

Назначение: рекурсивно копирует каталог.

Параметры:

  • <Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?".
  • <Destination> - строка, путь назначения (куда копировать).
  • <Overwrite> - необязательный, булево (число). Перезаписывать существующие файлы, или нет. По умолчанию - True (перезаписывать). Если файл, который нужно перезаписать, имеет атрибут read-only, возникнет ошибка (независимо от установки этого параметра).

Описание: процесс копирования прерывается после первой возникшей ошибки.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder "C:\NewFolder\*", "C:\TEMP\", 0 

3.4. MoveFile

Синтаксис:

MoveFile(<Source>,<Destination>) 

Назначение: перемещает один или несколько файлов.

Параметры:

  • <Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?".
  • <Destination> - строка, путь назначения (куда копировать).

Описание: процесс перемещения прерывается после первой возникшей ошибки. Если перемещаемый файл уже существует или является папкой в Destination, возникнет ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.MoveFile "C:\*.txt", "A:\" 

3.5. MoveFolder

Синтаксис:

MoveFolder(<Source>,<Destination>) 

Назначение: рекурсивно перемещает один или несколько каталогов.

Параметры:

  • <Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?".
  • <Destination> - строка, путь назначения (куда копировать).

Описание: процесс перемещения прерывается после первой возникшей ошибки. Если перемещаемый каталог уже существует или является файлом в Destination, возникнет ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.MoveFolder "C:\New Folde*", "C:\TEMP\" 

3.6. DeleteFile

Синтаксис:

DeleteFile(<Filespec>,<Force>) 

Назначение: удаляет указанный файл.

Параметры:

  • <Filespec> - строка, путь к файлу. В последнем компоненте параметра можно использовать групповые символы "*" и "?".
  • <Force> - необязательный, булево (число). Определяет, удалять или нет файлы с атрибутом read-only. По умолчанию - False (не удалять).

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFile "A:\*", 0 

3.7. DeleteFolder

Синтаксис:

DeleteFolder(<Folderspec>,<Force>) 

Назначение: удаляет указанную папку.

Параметры:

  • <Folderspec> - строка, путь к папке. В последнем компоненте параметра можно использовать групповые символы "*" и "?".
  • <Force> - необязательный, булево (число). Определяет, удалять или нет файлы с атрибутом read-only. По умолчанию - False (не удалять).

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFolder "A:\*", 0 

3.8. BuildPath

Синтаксис:

BuildPath(<Path>,<Name>) 

Назначение: добавляет к заданному пути новое имя. Если необходимо, вставляется "\".

Параметры:

  • <Path> - строка, путь.
  • <Name> - строка, имя файла.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Path = FSO.BuildPath("C:\Program Files", "New Folder")
MsgBox Path
Path = FSO.BuildPath("C:\Program Files\", "New Folder")
MsgBox Path 

3.9. GetAbsolutePathName

Синтаксис:

GetAbsolutePathName(<Pathspec>) 

Назначение: возвращает полный путь для заданного относительного пути (из текущего каталога).

Параметры:

  • <Pathspec> - строка, относительный путь.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Path = FSO.GetAbsolutePathName("..")
MsgBox Path
Path = FSO.GetAbsolutePathName(".\aaa\bbb\ccc.txt")
MsgBox Path 

3.10. GetBaseName

Синтаксис:

GetBaseName(<Path>) 

Назначение: возвращает имя (без расширения) последнего компонента в заданном пути.

Параметры:

  • <Path> - строка, путь.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Name = FSO.GetBaseName("Q:\aaa\bred\MySuperFile.txt")
MsgBox Name 

3.11. GetExtensionName

Синтаксис:

GetExtensionName(<Path>) 

Назначение: возвращает расширение последнего компонента в заданном пути.

Параметры:

  • <Path> - строка, путь.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Name = FSO.GetExtensionName("Q:\aaa\bred\MySuperFile.txt")
MsgBox Name 

3.12. GetFileName

Синтаксис:

GetFileName(<Path>) 

Назначение: возвращает имя (с расширением) последнего компонента в заданном пути.

Параметры:

  • <Path> - строка, путь.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Name = FSO.GetFileName("Q:\aaa\bred\MySuperFile.txt")
MsgBox Name 

3.13. GetParentFolderName

Синтаксис:

GetParentFolderName(<Path>) 

Назначение: возвращает путь к последнему компоненту в заданном пути (его каталог).

Параметры:

  • <Path> - строка, путь.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Name = FSO.GetParentFolderName("Q:\aaa\bred\MySuperFile.txt")
MsgBox Name 

3.14. GetDriveName

Синтаксис:

GetDriveName(<Path>) 

Назначение: возвращает имя диска в заданном пути.

Параметры:

  • <Path> - строка, путь.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Name = FSO.GetDriveName("X:\aaa\bred\MySuperFile.txt")
MsgBox Name 

3.15. DriveExists

Синтаксис:

DriveExists(<Drivespec>) 

Назначение: возвращает True, если указанный диск сущесвтвует, и False в противном случае.

Параметры:

  • <Drivespec> - строка, путь.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Disk = "A:"
MsgBox "Диск " & Disk & " существует = " & FSO.DriveExists(Disk)
Disk = "Q:"
MsgBox "Диск " & Disk & " существует = " & FSO.DriveExists(Disk) 

3.16. FileExists

Синтаксис:

FileExists(<Filespec>) 

Назначение: возвращает True, если указанный файл сущесвтвует, и False в противном случае.

Параметры:

  • <Filespec> - строка, путь.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
File = "C:\Program Files\1Cv77\BIN\1cv7s.exe"
MsgBox "Файл " & File & " существует = " & FSO.FileExists(File)
File = "С:\1.txt"
MsgBox "Файл " & File & " существует = " & FSO.FileExists(File) 

3.17. FolderExists

Синтаксис:

FolderExists(<Folderspec>) 

Назначение: возвращает True, если указанный каталог сущесвтвует, и False в противном случае.

Параметры:

  • <Folderspec> - строка, путь.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Folder = "C:\Program Files"
MsgBox "Каталог " & Folder & " существует = " & FSO.FolderExists(Folder)
Folder = "С:\ProgramFiles"
MsgBox "Каталог " & Folder & " существует = " & FSO.FolderExists(Folder) 

3.18. GetDrive

Синтаксис:

GetDrive(<Folderspec>) 

Назначение: возвращает объект "Drive" по указанному имени или пути.

Параметры:

  • <Folderspec> - строка, имя диска или путь к корневому каталогу диска, возможно UNC-путь.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Drive = FSO.GetDrive("C:")
MsgBox Drive.FileSystem
Set Drive = FSO.GetDrive("C:\")
MsgBox Drive.FileSystem
Set Drive = FSO.GetDrive("\\Server\1C_Predpr")
MsgBox Drive.FileSystem 

3.19. GetFile

Синтаксис:

GetFile(<Filespec>) 

Назначение: возвращает объект "File" по указанному пути.

Параметры:

  • <Filespec> - строка, путь.

Описание: если файл не существует, произойдёт ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
MsgBox File.Size 

3.20. GetFolder

Синтаксис:

GetFolder(<Folderspec>) 

Назначение: возвращает объект "Folder" по указанному пути.

Параметры:

  • <Folderspec> - строка, путь.

Описание: если каталог не существует, произойдёт ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
MsgBox Folder.ShortName 

3.21. GetSpecialFolder

Синтаксис:

GetSpecialFolder(<Folderspec>) 

Назначение: возвращает объект "Folder" для некоторых специальных папок Windows.

Параметры:

  • <Folderspec> - число, определяет специальную папку. Возможные значения:
  • 0 - Каталог Windows.
  • 1 - Системный каталог библиотек и драйверов.
  • 2 - Каталог временных файлов, путь к которому хранится в переменной среды "TMP".

Описание: если каталог не существует, произойдёт ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
For i=0 To 2
    Set Folder = FSO.GetSpecialFolder(i)
    MsgBox Folder.Path
Next 

3.22. GetTempName

Синтаксис:

GetTempName() 

Назначение: возвращает случайным образом сгенерированное имя файла, которое может быть использовано для создания временного файла.

Параметры: нет.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
MsgBox FSO.GetTempName() 

3.23. CreateTextFile

Синтаксис:

CreateTextFile(<Filename>,<Overwrite>,<Unicode>) 

Назначение: создаёт новый текстовый файл и возвращает объект "TextStream", указывающий на него.

Параметры:

  • <Filename> - строка, путь к файлу.
  • <Overwrite> - необязательный, булево (число). Перезаписывать файл, если он существует (True), или нет (False). По умолчанию - False. Если указано False и файл существует - произойдёт ошибка.
  • <Unicode> - необязательный, булево (число). Файл в формате Unicode (True), или ASCII (False). По умолчанию - False.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt") 

3.24. OpenTextFile

Синтаксис:

OpenTextFile(<Filename>,<Iomode>,<Create>,<Format>) 

Назначение: открывает текстовый файл и возвращает объект "TextStream", указывающий на него.

Параметры:

  • <Filename> - строка, путь к файлу.
  • <Iomode> - необязательный, число. Возможные значения:
    • 1 - Открыть файл только для чтения.
    • 2 - Открыть файл для записи. Если файл уже существовал, его содержимое теряется.
    • 8 - Открыть файл для добавления. Если файл уже существовал, информация будет дописываться в конец файла.
  • <Create> - необязательный, булево (число). Создавать файл, если он не существует (True), или нет (False). По умолчанию - False.
  • <Format> - необязательный, число. Возможные значения:
  • -2 - Открыть файл в формате, используемом системой по умолчанию.
  • -1 - Открыть файл в формате Unicode.
  • 0 - Открыть файл в формате ASCII (по умолчанию).

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile("C:\Test.txt", 2, True) 

3.25. GetStandardStream

Синтаксис:

GetStandardStream(<StandardStreamType>,<Unicode>) 

Назначение: возвращает объект "TextStream", ассоциированный с потоком "StdIn", "StdOut" или "StdErr".

Параметры:

  • <StandardStreamType> - число, определяет поток. Возможные значения:
    • 0 - StdIn.
    • 1 - StdOut.
    • 2 - StdErr.
  • <Unicode> - необязательный, булево (число). True - формат Unicode, False - ASCII. По умолчанию - False.

Описание: метод применим при запуске административного скрипта в консоли с помощью CScript.exe.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set stdout = fso.GetStandardStream(1)
stdout.WriteLine "Hello, VBScript." 

3.26. GetFileVersion

Синтаксис:

GetFileVersion(<Path>) 

Назначение: возвращает номер версии исполняемого файла (строка).

Параметры:

  • <Path> - строка, путь к файлу.

Описание: метод возвращает информацию, которую можно просмотреть на вкладке "Версия" палитры свойств файла в проводнике.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
MsgBox FSO.GetFileVersion("C:\Program Files\1Cv77\BIN\1cv7s.exe")
MsgBox FSO.GetFileVersion("C:\Program Files\1cv8\bin\1cv8.exe") 

4. Объект Drive

4.1. Создание объекта

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.Drives.Item("C:") 

4.2. Свойства

4.2.1. AvailableSpace

Синтаксис:

AvailableSpace 

Возвращаемое значение: число - количество доступного для пользователя места на диске в байтах.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.2. DriveLetter

Синтаксис:

DriveLetter 

Возвращаемое значение: строка - буква, ассоциированная с ресурсом.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.3. DriveType

Синтаксис:

DriveType 

Возвращаемое значение: число - определяет тип ресурса. Возможные значения:

  • 0 - неизвестное устройство.
  • 1 - устройство со сменным носителем.
  • 2 - жёсткий диск.
  • 3 - сетевой диск.
  • 4 - CD-ROM.
  • 5 - RAM-диск.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.4. FileSystem

Синтаксис:

FileSystem 

Возвращаемое значение: cтрока - тип файловой системы (FAT, NTFS или CDFS).

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.5. FreeSpace

Синтаксис:

FreeSpace 

Возвращаемое значение: число - количество свободного места на диске в байтах.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.6. IsReady

Синтаксис:

IsReady 

Возвращаемое значение: булево (число) - True, если устройство готово, иначе - False. Актуально для устройства со сменным носителем или CD-ROM.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.7. Path

Синтаксис:

Path 

Возвращаемое значение: строка - путь к диску (например, "C:", но не "C:\").

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.8. RootFolder

Синтаксис:

RootFolder 

Возвращаемое значение: объект "Folder", соответствующий корневому каталогу диска.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.9. SerialNumber

Синтаксис:

SerialNumber 

Возвращаемое значение: число - десятичный серийный номер диска.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.10. ShareName

Синтаксис:

ShareName 

Возвращаемое значение: строка - сетевое имя диска, если диск сетевой (иначе - пустая строка).

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.11. TotalSize

Синтаксис:

TotalSize 

Возвращаемое значение: число - общий объём диска в байтах.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

4.2.12. VolumeName

Синтаксис:

VolumeName 

Возвращаемое значение: строка - метка тома диска.

Замечание: чтение и запись.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str 

5. Объект File

5.1. Создание объекта

Пример №1:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat") 

Пример №2:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set File = Folder.Files("autoexec.bat") 

Пример №3:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set File = Folder.Files.Item("autoexec.bat") 

5.2. Свойства

5.2.1. Attributes

Синтаксис:

Attributes 

Возвращаемое значение: число, набор флагов атрибутов файла. Флаги:

  • 0 - Normal. Обычный файл (нет атрибутов).
  • 1 - ReadOnly. Файл только для чтения. Чтение и запись.
  • 2 - Hidden. Скрытый. Чтение и запись.
  • 4 - System. Системный. Чтение и запись.
  • 8 - Volume. Диск. Только чтение.
  • 16 - Directory. Папка или файл. Только чтение.
  • 32 - Archive. Архивный. Чтение и запись.
  • 1024 - Alias. Ссылка или ярлык. Только чтение.
  • 2048 - Compressed. Сжатый. Только чтение.

Замечание: чтение и запись или только чтение, в зависимости от атрибута.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Attrs = File.Attributes
Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "ReadOnly", 0
Dict.Add "Hidden", 0
Dict.Add "System", 0
Dict.Add "Volume", 0
Dict.Add "Directory", 0
Dict.Add "Archive", 0
Dict.Add "Alias", 0
Dict.Add "Compressed", 0
If Attrs And 2048 Then
    Dict.Item("Compressed") = 1
End If
If Attrs And 1024 Then
    Dict.Item("Alias") = 1
End If
If Attrs And 32 Then
    Dict.Item("Archive") = 1
End If
If Attrs And 16 Then
    Dict.Item("Directory") = 1
End If
If Attrs And 8 Then
    Dict.Item("Volume") = 1
End If
If Attrs And 4 Then
    Dict.Item("System") = 1
End If
If Attrs And 2 Then
    Dict.Item("Hidden") = 1
End If
If Attrs And 1 Then
    Dict.Item("ReadOnly") = 1
End If
Str = "Атрибуты файла """ & File.Path & """:" & vbCrLf
For Each Attr In Dict
    Str = Str & Attr & " = " & Dict.Item(Attr) & vbCrLf
Next
MsgBox Str 

5.2.2. DateCreated

Синтаксис:

DateCreated 

Возвращаемое значение: дата создания файла.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.2.3. DateLastAccessed

Синтаксис:

DateLastAccessed 

Возвращаемое значение: дата последнего доступа к файлу.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.2.4. DateLastModified

Синтаксис:

DateLastModified 

Возвращаемое значение: дата последней модификации файла.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.2.5. Drive

Синтаксис:

Drive 

Возвращаемое значение: объект "Drive" диска, на котором находится файл.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.2.6. Name

Синтаксис:

Name 

Возвращаемое значение: имя файла.

Замечание: чтение и запись.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.2.7. ParentFolder

Синтаксис:

ParentFolder 

Возвращаемое значение: объект "Folder" родительского каталога.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.2.8. Path

Синтаксис:

Path 

Возвращаемое значение: полный путь к файлу.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.2.9. ShortName

Синтаксис:

ShortName 

Возвращаемое значение: короткое имя файла в формате 8.3.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.2.10. ShortPath

Синтаксис:

ShortPath 

Возвращаемое значение: короткий путь к файлу в формате 8.3.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.2.11. Size

Синтаксис:

Size 

Возвращаемое значение: размер файла в байтах.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.2.12. Type

Синтаксис:

Type 

Возвращаемое значение: тип файла. Информация, похожая на ту, которую можно увидеть в палитре свойств файла в проводнике.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str 

5.3. Методы

5.3.1. Copy

Синтаксис:

Copy(<Destination>,<Overwrite>) 

Назначение: копирует файл в указанное место.

Параметры:

  • <Destination> - строка, путь (куда копировать).
  • <Overwrite> - необязательный, булево (число). Заменять файл, если он существует (True), или нет (False)

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
File.Copy "D:\"
File.Copy "D:\Copy of autoexec.bat" 

5.3.2. Move

Синтаксис:

Move(<Destination>) 

Назначение: перемещает файл в указанное место.

Параметры:

  • <Destination> - строка, путь (куда перемещать).

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
File.Move "D:\"
'File.Move "D:\Copy of autoexec.bat" 

5.3.3. Delete

Синтаксис:

Delete(<Force>) 

Назначение: удаляет файл.

Параметры:

  • <Force> - необязательный, булево (число). Удалять файл, если он имеет атрибут "только для чтения" (True), или нет (False).

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\Test.txt")
File.Delete 

5.3.4. OpenAsTextStream

Синтаксис:

OpenAsTextStream(<Iomode>,<Format>) 

Назначение: открывает текстовый файл и возвращает объект "TextStream", указывающий на него.

Параметры:

  • <Iomode> - необязательный, число. Возможные значения:
    • 1 - Открыть файл только для чтения.
    • 2 - Открыть файл для записи. Если файл уже существовал, его содержимое теряется.
    • 8 - Открыть файл для добавления. Если файл уже существовал, информация будет дописываться в конец файла.
  • <Format> - необязательный, число. Возможные значения:
  • -2 - Открыть файл в формате, используемом системой по умолчанию.
  • -1 - Открыть файл в формате Unicode.
  • 0 - Открыть файл в формате ASCII (по умолчанию).

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadAll()
TextStream.Close 

6. Объект Folder

6.1. Создание объекта

Пример №1:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files") 

Пример №2:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetSpecialFolder(0) 

Пример №3:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Set Folder = DriveC.RootFolder 

Пример №4:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
For Each SubFolder In Folder.SubFolders
    WScript.Echo SubFolder.Name
Next 

6.2. Свойства

6.2.1. Attributes

Синтаксис:

Attributes 

Возвращаемое значение: число, набор флагов атрибутов папки. Флаги:

  • 0 - Normal. Обычный файл (нет атрибутов).
  • 1 - ReadOnly. Файл только для чтения. Чтение и запись.
  • 2 - Hidden. Скрытый. Чтение и запись.
  • 4 - System. Системный. Чтение и запись.
  • 8 - Volume. Диск. Только чтение.
  • 16 - Directory. Папка или файл. Только чтение.
  • 32 - Archive. Архивный. Чтение и запись.
  • 1024 - Alias. Ссылка или ярлык. Только чтение.
  • 2048 - Compressed. Сжатый. Только чтение.

Замечание: чтение и запись или только чтение, в зависимости от атрибута.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Attrs = Folder.Attributes
Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "ReadOnly", 0
Dict.Add "Hidden", 0
Dict.Add "System", 0
Dict.Add "Volume", 0
Dict.Add "Directory", 0
Dict.Add "Archive", 0
Dict.Add "Alias", 0
Dict.Add "Compressed", 0
If Attrs And 2048 Then
    Dict.Item("Compressed") = 1
End If
If Attrs And 1024 Then
    Dict.Item("Alias") = 1
End If
If Attrs And 32 Then
    Dict.Item("Archive") = 1
End If
If Attrs And 16 Then
    Dict.Item("Directory") = 1
End If
If Attrs And 8 Then
    Dict.Item("Volume") = 1
End If
If Attrs And 4 Then
    Dict.Item("System") = 1
End If
If Attrs And 2 Then
    Dict.Item("Hidden") = 1
End If
If Attrs And 1 Then
    Dict.Item("ReadOnly") = 1
End If
Str = "Атрибуты папки """ & Folder.Path & """:" & vbCrLf
For Each Attr In Dict
    Str = Str & Attr & " = " & Dict.Item(Attr) & vbCrLf
Next
MsgBox Str 

6.2.2. DateCreated

Синтаксис:

DateCreated 

Возвращаемое значение: дата создания каталога.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.3. DateLastAccessed

Синтаксис:

DateLastAccessed 

Возвращаемое значение: дата последнего доступа к каталогу.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.4. DateLastModified

Синтаксис:

DateLastModified 

Возвращаемое значение: дата последней модификации каталога.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.5. Drive

Синтаксис:

Drive 

Возвращаемое значение: объект "Drive" диска, на котором находится каталог.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.6. IsRootFolder

Синтаксис:

IsRootFolder 

Возвращаемое значение: булево (число). Признак того, является ли каталог корневым.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.7. Name

Синтаксис:

Name 

Возвращаемое значение: имя каталога.

Замечание: чтение и запись.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.8. ParentFolder

Синтаксис:

ParentFolder 

Возвращаемое значение: объект "Folder" родительского каталога.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.9. Path

Синтаксис:

Path 

Возвращаемое значение: полный путь к каталогу.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.10. ShortName

Синтаксис:

ShortName 

Возвращаемое значение: короткое имя каталога в формате 8.3.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.11. ShortPath

Синтаксис:

ShortPath 

Возвращаемое значение: короткий путь к каталогу в формате 8.3.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.12. Size

Синтаксис:

Size 

Возвращаемое значение: размер всех файлов и подкаталогов, входящих в данный каталог, в байтах.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.13. Type

Синтаксис:

Type 

Возвращаемое значение: тип каталога. Информация, похожая на ту, которую можно увидеть в палитре свойств каталога в проводнике.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str 

6.2.14. SubFolders

Синтаксис:

SubFolders 

Возвращаемое значение: объект-коллекция "Folders", содержащая все подкаталоги данного каталога, включая скрытые и системные.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
MsgBox Folder.SubFolders.Count
Set SubFolder = Folder.SubFolders.Item("Program Files")
MsgBox SubFolder.Path
Set SubFolder = Folder.SubFolders("Program Files")
MsgBox SubFolder.Path 

Другой пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
For Each SubFolder In Folder.SubFolders
    WScript.Echo SubFolder.Name
Next 

Создание нового подкаталога:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set NewFolder = Folder.SubFolders.Add("New Folder") 

6.2.15. Files

Синтаксис:

Files 

Возвращаемое значение: объект-коллекция "Files", содержащая все файлы данного каталога, включая скрытые и системные.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
MsgBox Folder.Files.Count
Set File = Folder.Files.Item("AUTOEXEC.BAT")
MsgBox File.Path
Set File = Folder.Files("AUTOEXEC.BAT")
MsgBox File.Path 

Другой пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
For Each File In Folder.Files
    WScript.Echo File.Name
Next 

6.3. Методы

6.3.1. Copy

Синтаксис:

Copy(<Destination>,<Overwrite>) 

Назначение: копирует каталог в указанное место.

Параметры:

  • <Destination> - строка, путь (куда копировать).
  • <Overwrite> - необязательный, булево (число). Заменять каталог, если он существует (True), или нет (False).

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("D:\Job\Site")
Folder.Copy "D:\" 

6.3.2. Move

Синтаксис:

Move(<Destination>) 

Назначение: перемещает каталог в указанное место.

Параметры:

  • <Destination> - строка, путь (куда перемещать).

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("D:\Job\Site")
Folder.Move "D:\" 

6.3.3. Delete

Синтаксис:

Delete(<Force>) 

Назначение: удаляет каталог со всем содержимым.

Параметры:

  • <Force> - необязательный, булево (число). Удалять каталог, если он имеет атрибут "только для чтения" (True), или нет (False).

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\New Folder")
Folder.Delete 

6.3.4. CreateTextFile

Синтаксис:

CreateTextFile(<Filename>,<Overwrite>,<Unicode>) 

Назначение: создаёт новый текстовый файл и возвращает объект "TextStream", указывающий на него.

Параметры:

  • <Filename> - строка, имя файла.
  • <Overwrite> - необязательный, булево (число). Перезаписывать файл, если он существует (True), или нет (False). По умолчанию - False. Если указано False и файл существует - произойдёт ошибка.
  • <Unicode> - необязательный, булево (число). Файл в формате Unicode (True), или ASCII (False). По умолчанию - False.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set TextStream = Folder.CreateTextFile("Test.txt") 

7. Объект TextStream

7.1. Создание объекта

Пример №1:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt") 

Пример №2:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set TextStream = Folder.CreateTextFile("Test.txt") 

Пример №3:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile("C:\autoexec.bat") 

Пример №4:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Set TextStream = File.OpenAsTextStream(1) 

7.2. Свойства

7.2.1. AtEndOfLine

Синтаксис:

AtEndOfLine 

Возвращаемое значение: содержит True, если указатель достиг конца строки и False в противном случае. Работает только если файл открыт для чтения.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfLine
    Str = Str & TextStream.Read(1)
Wend
TextStream.Close
MsgBox Str 

7.2.2. AtEndOfStream

Синтаксис:

AtEndOfStream 

Возвращаемое значение: содержит True, если указатель достиг конца файла и False в противном случае. Работает только если файл открыт для чтения.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfStream
    Str = Str & TextStream.ReadLine() & vbCrLf
Wend
TextStream.Close
MsgBox Str 

7.2.3. Column

Синтаксис:

Column 

Возвращаемое значение: содержит номер колонки текущего символа файла.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfLine
    Str = Str & TextStream.Column & ": " & TextStream.Read(1) & vbCrLf
Wend
TextStream.Close
MsgBox Str 

7.2.4. Line

Синтаксис:

Line 

Возвращаемое значение: содержит номер текущей строки файла.

Замечание: только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfStream
    Str = Str & TextStream.Line & ": " & TextStream.ReadLine() & vbCrLf
Wend
TextStream.Close
MsgBox Str 

7.3. Методы

7.3.1. Close

Синтаксис:

Close 

Назначение: закрывает открытый файл.

Параметры: нет.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadAll()
TextStream.Close 

7.3.2. Read

Синтаксис:

Read(<Characters>) 

Назначение: считывает из файла указанное количество символов и возвращает полученную строку.

Параметры:

  • <Characters> - число, количество символов, которое нужно считать.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.Read(13)
TextStream.Close 

7.3.3. ReadAll

Синтаксис:

ReadAll 

Назначение: считывает весь файл и возвращает полученную строку.

Параметры: нет.

Описание: для больших файлов использование этого метода потребует больших ресурсов памяти.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadAll()
TextStream.Close 

7.3.4. ReadLine

Синтаксис:

ReadLine 

Назначение: считывает строку из файла и возвращает полученную строку.

Параметры: нет.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfStream
    Str = Str & TextStream.ReadLine() & vbCrLf
Wend
MsgBox Str
TextStream.Close 

7.3.5. Skip

Синтаксис:

Skip(<Characters>) 

Назначение: пропускает при чтении файла указанное количество символов.

Параметры:

  • <Characters> - число, количество символов, которые нужно пропустить.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.Read(13)
TextStream.Skip 10
MsgBox TextStream.Read(10)
TextStream.Close 

7.3.6. SkipLine

Синтаксис:

SkipLine 

Назначение: пропускает при чтении файла строку.

Параметры: нет.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadLine()
TextStream.SkipLine
MsgBox TextStream.ReadLine()
TextStream.Close 

7.3.7. Write

Синтаксис:

Write(<String>) 

Назначение: записывает в файл указанную строку. Символы возврата каретки и новой строки в файл не записываются.

Параметры:

  • <String> - строка для записи в файл.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt")
TextStream.Write("Text")
TextStream.Close 

7.3.8. WriteLine

Синтаксис:

WriteLine(<String>) 

Назначение: записывает в файл указанную строку. В файл записываются символы возврата каретки и новой строки.

Параметры:

  • <String> - необязательный, строка для записи в файл. Если опущен, в файл записывается пустая строка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt")
TextStream.WriteLine "Text"
TextStream.Close 

7.3.9. WriteBlankLines

Синтаксис:

WriteBlankLines(<Lines>) 

Назначение: записывает в файл указанное количество пустых строк (символы возврата каретки и новой строки).

Параметры:

  • <Lines> - число, количество пустых строк, которое надо записать.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt")
TextStream.WriteBlankLines 5
TextStream.Close 

Составление - Людоговский Александр

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.

Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования