MyTetra Share
Делитесь знаниями!
Объект FileSystemObject
Время создания: 16.03.2019 23:43
Текстовые метки: FSO
Раздел: Разные закладки - VBA - FSO
Запись: xintrea/mytetra_db_adgaver_new/master/base/15145567781c1kqv4uph/text.html на raw.githubusercontent.com

Объект FileSystemObject


Если возникает ошибка,свидетельствующая об отсутствии fso,то надо подключать Microsoft Scripting Runtime.
Выбираешь в меню Project > References...
пункт "Microsoft Scripting Runtime" (scrrun.dll)



Источник
Составил: Людоговский Александр​

Код (vb.net):

Set FSO = CreateObject("Scripting.FileSystemObject")

Примечание модератора:


Примеры FSO js.
FileSystemObject(FSO) — содержится в библиотеке типов Scripting, расположенной в файле библиотеки scrrun.dll.
Объектная модель FSO дает возможность:

  • создавать
  • считывать
  • изменять
  • перемещать
  • удалять
  • перечислять

папки и файлы, собирать о них различную информацию:

  • имена, путь, расширение
  • атрибуты
  • даты создания или изменения
  • размер
  • существует ли
  • версию

а также о дисках:

  • кол-во свободного места
  • размер
  • серийный номер
  • тип файловой системы
  • тип диска и его наличие


Структура:

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. Создание объекта

Пример:

Код (vb.net):

Set FSO = CreateObject("Scripting.FileSystemObject")

2. Свойства

2.1. Drives

Синтаксис:

Drives

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

Пример:

Код (vb.net):

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

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

Код (vb.net):

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

Пример:

Код (vb.net):

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

3.2. CopyFile

Синтаксис:

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

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

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

Пример:

Код (vb.net):

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

3.3. CopyFolder

Синтаксис:

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

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

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

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

Пример:

Код (vb.net):

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

3.4. MoveFile

Синтаксис:

MoveFile(<Source>,<Destination>)

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

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

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

Пример:

Код (vb.net):

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

3.5. MoveFolder

Синтаксис:

MoveFolder(<Source>,<Destination>)

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

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

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

Пример:

Код (vb.net):

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

3.6. DeleteFile

Синтаксис:

DeleteFile(<Filespec>,<Force>)

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

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

Пример:

Код (vb.net):

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

3.7. DeleteFolder

Синтаксис:

DeleteFolder(<Folderspec>,<Force>)

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

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

Пример:

Код (vb.net):

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

3.8. BuildPath

Синтаксис:

BuildPath(<Path>,<Name>)

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

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

Пример:

Код (vb.net):

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> - строка, относительный путь.

Пример:

Код (vb.net):

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> - строка, путь.

Пример:

Код (vb.net):

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

3.11. GetExtensionName

Синтаксис:

GetExtensionName(<Path>)

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

Параметры:
<Path> - строка, путь.

Пример:

Код (vb.net):

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

3.12. GetFileName

Синтаксис:

GetFileName(<Path>)

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

Параметры:
<Path> - строка, путь.

Пример:

Код (vb.net):

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

3.13. GetParentFolderName

Синтаксис:

GetParentFolderName(<Path>)

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

Параметры:
<Path> - строка, путь.

Пример:

Код (vb.net):

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

3.14. GetDriveName

Синтаксис:

GetDriveName(<Path>)

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

Параметры:
<Path> - строка, путь.

Пример:

Код (vb.net):

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

3.15. DriveExists

Синтаксис:

DriveExists(<Drivespec>)

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

Параметры:
<Drivespec> - строка, путь.

Пример:

Код (vb.net):

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> - строка, путь.

Пример:

Код (vb.net):

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> - строка, путь.

Пример:

Код (vb.net):

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-путь.

Пример:

Код (vb.net):

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> - строка, путь.

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

Пример:

Код (vb.net):

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

3.20. GetFolder

Синтаксис:

GetFolder(<Folderspec>)

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

Параметры:
<Folderspec> - строка, путь.

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

Пример:

Код (vb.net):

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".

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

Пример:

Код (vb.net):

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

3.22. GetTempName

Синтаксис:

GetTempName()

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

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

Пример:

Код (vb.net):

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.

Пример:

Код (vb.net):

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 (по умолчанию).

Пример:

Код (vb.net):

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.

Пример:

Код (vb.net):

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

3.26. GetFileVersion

Синтаксис:

GetFileVersion(<Path>)

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

Параметры:
<Path> - строка, путь к файлу.

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

Пример:

Код (vb.net):

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")

 

Последнее редактирование: 26 янв 2014



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

Пример:

Код (vb.net):

Set FSO = CreateObject("Scripting.FileSystemObject")

2. Свойства

2.1. Drives

Синтаксис:

Drives

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

Пример:

Код (vb.net):

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

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

Код (vb.net):

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

Пример:

Код (vb.net):

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

3.2. CopyFile

Синтаксис:

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

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

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

Пример:

Код (vb.net):

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

3.3. CopyFolder

Синтаксис:

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

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

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

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

Пример:

Код (vb.net):

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

3.4. MoveFile

Синтаксис:

MoveFile(<Source>,<Destination>)

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

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

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

Пример:

Код (vb.net):

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

3.5. MoveFolder

Синтаксис:

MoveFolder(<Source>,<Destination>)

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

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

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

Пример:

Код (vb.net):

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

3.6. DeleteFile

Синтаксис:

DeleteFile(<Filespec>,<Force>)

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

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

Пример:

Код (vb.net):

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

3.7. DeleteFolder

Синтаксис:

DeleteFolder(<Folderspec>,<Force>)

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

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

Пример:

Код (vb.net):

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

3.8. BuildPath

Синтаксис:

BuildPath(<Path>,<Name>)

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

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

Пример:

Код (vb.net):

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> - строка, относительный путь.

Пример:

Код (vb.net):

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> - строка, путь.

Пример:

Код (vb.net):

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

3.11. GetExtensionName

Синтаксис:

GetExtensionName(<Path>)

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

Параметры:
<Path> - строка, путь.

Пример:

Код (vb.net):

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

3.12. GetFileName

Синтаксис:

GetFileName(<Path>)

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

Параметры:
<Path> - строка, путь.

Пример:

Код (vb.net):

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

3.13. GetParentFolderName

Синтаксис:

GetParentFolderName(<Path>)

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

Параметры:
<Path> - строка, путь.

Пример:

Код (vb.net):

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

3.14. GetDriveName

Синтаксис:

GetDriveName(<Path>)

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

Параметры:
<Path> - строка, путь.

Пример:

Код (vb.net):

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

3.15. DriveExists

Синтаксис:

DriveExists(<Drivespec>)

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

Параметры:
<Drivespec> - строка, путь.

Пример:

Код (vb.net):

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> - строка, путь.

Пример:

Код (vb.net):

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> - строка, путь.

Пример:

Код (vb.net):

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-путь.

Пример:

Код (vb.net):

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> - строка, путь.

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

Пример:

Код (vb.net):

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

3.20. GetFolder

Синтаксис:

GetFolder(<Folderspec>)

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

Параметры:
<Folderspec> - строка, путь.

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

Пример:

Код (vb.net):

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".

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

Пример:

Код (vb.net):

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

3.22. GetTempName

Синтаксис:

GetTempName()

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

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

Пример:

Код (vb.net):

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.

Пример:

Код (vb.net):

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 (по умолчанию).

Пример:

Код (vb.net):

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.

Пример:

Код (vb.net):

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

3.26. GetFileVersion

Синтаксис:

GetFileVersion(<Path>)

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

Параметры:
<Path> - строка, путь к файлу.

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

Пример:

Код (vb.net):

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")

 

Последнее редактирование: 26 янв 2014

Dragokas , 26 янв 2014 в 00:42

#2



4. Объект Drive

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

Пример:

Код (vb.net):

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

4.2. Свойства

4.2.1. AvailableSpace

Синтаксис:

AvailableSpace

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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-диск.
Замечание: только чтение.

Пример:

Код (vb.net):

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).
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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.
Замечание: только чтение.

Пример:

Код (vb.net):

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:\").

Код (vb.net):


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

Пример:

Код (vb.net):

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", соответствующий корневому каталогу диска.
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

 

Последнее редактирование: 26 янв 2014

Dragokas , 26 янв 2014 в 00:44

#3


5. Объект File

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

Пример №1:

Код (vb.net):

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

Пример №2:

Код (vb.net):

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

Пример №3:

Код (vb.net):

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. Сжатый. Только чтение.
Замечание: чтение и запись или только чтение, в зависимости от атрибута.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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" диска, на котором находится файл.
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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" родительского каталога.
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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.
Замечание: только чтение.

Пример:

Код (vb.net):

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.
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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)

Пример:

Код (vb.net):

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> - строка, путь (куда перемещать).

Пример:

Код (vb.net):

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).

Пример:

Код (vb.net):

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 (по умолчанию).

Пример:

Код (vb.net):

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

 

Последнее редактирование: 26 янв 2014

Dragokas , 26 янв 2014 в 00:45

#4



6. Объект Folder

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

Пример №1:

Код (vb.net):

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

Пример №2:

Код (vb.net):

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

Пример №3:

Код (vb.net):

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

Пример №4:

Код (vb.net):

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. Сжатый. Только чтение.
Замечание: чтение и запись или только чтение, в зависимости от атрибута.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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" диска, на котором находится каталог.
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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" родительского каталога.
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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.
Замечание: только чтение.

Пример:

Код (vb.net):

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.
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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", содержащая все подкаталоги данного каталога, включая скрытые и системные.
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Код (vb.net):

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", содержащая все файлы данного каталога, включая скрытые и системные.
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Код (vb.net):

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).

Пример:

Код (vb.net):

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

6.3.2. Move

Синтаксис:

Move(<Destination>)

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

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

Пример:

Код (vb.net):

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

6.3.3. Delete

Синтаксис:

Delete(<Force>)

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

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

Пример:

Код (vb.net):

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.

Пример:

Код (vb.net):

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

 

Последнее редактирование: 26 янв 2014

Dragokas , 26 янв 2014 в 01:08

#5


7. Объект TextStream

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

Пример №1:

Код (vb.net):

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

Пример №2:

Код (vb.net):

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

Пример №3:

Код (vb.net):

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

Пример №4:

Код (vb.net):

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 в противном случае. Работает только если файл открыт для чтения.
Замечание: только чтение.

Пример:

Код (vb.net):

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 в противном случае. Работает только если файл открыт для чтения.
Замечание: только чтение.

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

Пример:

Код (vb.net):

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

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

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

Пример:

Код (vb.net):

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> - число, количество символов, которое нужно считать.

Пример:

Код (vb.net):

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

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

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

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

Пример:

Код (vb.net):

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

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

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

Пример:

Код (vb.net):

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> - число, количество символов, которые нужно пропустить.

Пример:

Код (vb.net):

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

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

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

Пример:

Код (vb.net):

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> - строка для записи в файл.

Пример:

Код (vb.net):

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

7.3.8. WriteLine

Синтаксис:

WriteLine(<String>)

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

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

Пример:

Код (vb.net):

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

7.3.9. WriteBlankLines

Синтаксис:

WriteBlankLines(<Lines>)

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

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

Пример:

Код (vb.net):

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

 

Dragokas , 26 янв 2014 в 01:11

#6



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