Excel file attributes a

Содержание

  1. File Attributes In VBA
  2. By Pan Pantziarka
  3. File Attributes
  4. Attributes property
  5. Syntax
  6. Settings
  7. Remarks
  8. See also
  9. Support and feedback
  10. Свойство Attributes
  11. Синтаксис
  12. Settings
  13. Замечания
  14. См. также
  15. Поддержка и обратная связь
  16. SetAttr statement
  17. Syntax
  18. Settings
  19. Remarks
  20. Example
  21. See also
  22. Support and feedback
  23. Объект FileSystemObject для работы с файлами. С примерами на VBA
  24. 1. Создание объекта
  25. 2. Свойства
  26. 2.1. Drives
  27. 3. Методы
  28. 3.1. CreateFolder
  29. 3.2. CopyFile
  30. 3.3. CopyFolder
  31. 3.4. MoveFile
  32. 3.5. MoveFolder
  33. 3.6. DeleteFile
  34. 3.7. DeleteFolder
  35. 3.8. BuildPath
  36. 3.9. GetAbsolutePathName
  37. 3.10. GetBaseName
  38. 3.11. GetExtensionName
  39. 3.12. GetFileName
  40. 3.13. GetParentFolderName
  41. 3.14. GetDriveName
  42. 3.15. DriveExists
  43. 3.16. FileExists
  44. 3.17. FolderExists
  45. 3.18. GetDrive
  46. 3.19. GetFile
  47. 3.20. GetFolder
  48. 3.21. GetSpecialFolder
  49. 3.22. GetTempName
  50. 3.23. CreateTextFile

File Attributes In VBA

By Pan Pantziarka

File Attributes

Previous articles on TechBookReport have shown how to use the FileSystemObject API from within VBA to access files, directories, text streams and so on. One area not explored in those tutorials was how access to file attributes — in other words how to identify whether a file is flagged by the operating system as hidden, or as a system file and so on. This short how-to will show how to access the information using the FileSystemObject (FSO) API, with Excel as the application platform — though the core of the code will work in any of the applications that support Visual Basic.

If you’re unfamiliar with FSO then the first thing to do is to go to the start of the extended TechBookReport FSO Tutorial for an introduction.

In terms of the FSO model, the attributes belong to the file object. So the first thing that your code has to do is to get a reference to a specific instance of the file object, lets call it fl. Once that’s done then the attributes are returned in the attibutes property, like this:

Note the plural — a file can have multiple attibutes. The value returned is a bit mask, with different bits indicating the different attributes. These attributes are:

Attribute name Description and vbName
ReadOnly Read only. vbReadOnly
Hidden Hidden. vbHidden
System System file. vbSystem
Volume Volume label. vbVolume
Directory Directory or folder. vbDirectory
Archive vbArchive

How do we access these in practice? We have to take the numeric value returned and then test specific bits to see if they are set and therefore included in the attribute.

First let’s have example of some code that lists all of the files in a given directory:

This subroutine will list all of the files in the C:WindowsSystem folder, showing file name, size, date last modified and the attributes value in different columns on an Excel sheet. Doing this you’ll see lots of attributes listed as 32 or 36. How do we interpret these values? By testing each for each of the attributes in turn.

The following function tests for each of the attributes in turn and builds up a string that represents them in the same way that a DOS dir command would. For example a hidden file is flagged as «H», system files are flagged as «S» etc.

Changing the previous subroutine so that the attributes value is replaced with something more meaningful is now as simple as substituting this line:

Finally, how can you use the attributes value to test for a specific attribute? For example how can you amend our original routine to ignore hidden files? Easy, test for the specific attribute and if the value is greater than zero you’ve identified it correctly. So, our original subroutine becomes:

Источник

Attributes property

Sets or returns the attributes of files or folders. Read/write or read-only, depending on the attribute.

Syntax

object.Attributes [= newattributes ]

The Attributes property has these parts:

Part Description
object Required. Always the name of a File or Folder object.
newattributes Optional. If provided, newattributes is the new value for the attributes of the specified object.

Settings

The newattributes argument can have any of the following values or any logical combination of the following values.

Constant Value Description
Normal 0 Normal file. No attributes are set.
ReadOnly 1 Read-only file. Attribute is read/write.
Hidden 2 Hidden file. Attribute is read/write.
System 4 System file. Attribute is read/write.
Volume 8 Disk drive volume label. Attribute is read-only.
Directory 16 Folder or directory. Attribute is read-only.
Archive 32 File has changed since last backup. Attribute is read/write.
Alias 1024 Link or shortcut. Attribute is read-only.
Compressed 2048 Compressed file. Attribute is read-only.

The following code illustrates the use of the Attributes property with a file.

See also

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Источник

Свойство Attributes

Устанавливает или возвращает атрибуты файлов или папок. Доступ для чтения/записи или только для чтения в зависимости от атрибута.

Синтаксис

object. Атрибуты [= newattributes ]

Свойство Attributes состоит из следующих частей:

Part Описание
object Обязательно. Всегда имя объекта File или Folder .
newattributes Необязательный параметр. Если аргумент newattributes предоставляется, он является новым значением атрибутов заданного объекта.

Settings

Аргумент newattributes может иметь любое из следующих значений или любое логическое сочетание следующих значений.

Константа Значение Описание
Normal 0 Обычный файл. Атрибуты не заданы.
ReadOnly 1 Файл только для чтения. Атрибут «чтение/запись».
Hidden 2 Скрытый файл. Атрибут «чтение/запись».
Система 4 Системный файл. Атрибут «чтение/запись».
Volume 8 Метка тома дискового устройства. Атрибут «только чтение».
Directory 16 Папка или каталог. Атрибут «только чтение».
Archive 32 Файл изменен после последнего резервного копирования. Атрибут «чтение/запись».
Alias 1024 Ссылка или ярлык. Атрибут «только чтение».
Сжатого 2048 Сжатый файл. Атрибут «только чтение».

Замечания

В следующем коде показано использование свойства Attributes с файлом.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

SetAttr statement

Sets attribute information for a file.

Syntax

SetAttr pathname, attributes

The SetAttr statement syntax has these named arguments:

Part Description
pathname Required. String expression that specifies a file name; may include directory or folder, and drive.
attributes Required. Constant or numeric expression whose sum specifies file attributes.

Settings

The attributes argument settings are:

Constant Value Description
vbNormal 0 Normal (default)
vbReadOnly 1 Read-only
vbHidden 2 Hidden
vbSystem 4 System file. Not available on the Macintosh.
vbArchive 32 File has changed since last backup.
vbAlias 64 Specified file name is an alias. Available only on the Macintosh.

These constants are specified by Visual Basic for Applications. The names can be used anywhere in your code in place of the actual values.

A run-time error occurs if you try to set the attributes of an open file.

Example

This example uses the SetAttr statement to set attributes for a file. On the Macintosh, only the constants vbNormal, vbReadOnly, vbHidden, and vbAlias are available.

See also

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Источник

Объект FileSystemObject для работы с файлами. С примерами на VBA

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

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

2. Свойства

2.1. Drives

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

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

3. Методы

3.1. CreateFolder

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

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

3.2. CopyFile

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

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

3.3. CopyFolder

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

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

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

3.4. MoveFile

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

  • — строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы «*» и «?».
  • — строка, путь назначения (куда копировать).

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

3.5. MoveFolder

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

  • — строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы «*» и «?».
  • — строка, путь назначения (куда копировать).

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

3.6. DeleteFile

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

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

3.7. DeleteFolder

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

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

3.8. BuildPath

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

— строка, путь.

  • — строка, имя файла.
  • 3.9. GetAbsolutePathName

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

    — строка, относительный путь.

    3.10. GetBaseName

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

    3.11. GetExtensionName

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

    3.12. GetFileName

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

    3.13. GetParentFolderName

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

    3.14. GetDriveName

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

    3.15. DriveExists

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

    3.16. FileExists

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

    3.17. FolderExists

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

    3.18. GetDrive

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

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

    3.19. GetFile

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

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

    3.20. GetFolder

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

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

    3.21. GetSpecialFolder

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

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

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

    3.22. GetTempName

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

    3.23. CreateTextFile

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

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

    Источник

    Trying to use Excel VBA to capture all the file attributes from files on disk, including extended attributes. Was able to get it to loop through the files and capture the basic attributes (that come from the file system):

    • File Path
    • File Name
    • File Size
    • Date Created
    • Date Last Accessed
    • Date Last Modified
    • File Type

    Would also like to capture the extended properties that come from the file itself:

    • Author
    • Keywords
    • Comments
    • Last Author
    • Category
    • Subject

    And other properties which are visible when right clicking on the file.

    The goal is to create a detailed list of all the files on a file server.

    Todd Main's user avatar

    Todd Main

    28.9k11 gold badges82 silver badges146 bronze badges

    asked Apr 13, 2011 at 15:39

    Jim McKeeth's user avatar

    Jim McKeethJim McKeeth

    38.1k23 gold badges123 silver badges193 bronze badges

    You say loop .. so if you want to do this for a dir instead of the current document;

    Dim sFile As Variant
    Dim oShell: Set oShell = CreateObject("Shell.Application")
    Dim oDir:   Set oDir = oShell.Namespace("c:foo")
    
    For Each sFile In oDir.Items
       Debug.Print oDir.GetDetailsOf(sFile, XXX) 
    Next
    

    Where XXX is an attribute column index, 9 for Author for example.
    To list available indexes for your reference you can replace the for loop with;

    for i = 0 To 40
       debug.? i, oDir.GetDetailsOf(oDir.Items, i)
    Next
    

    Quickly for a single file/attribute:

    Const PROP_COMPUTER As Long = 56
    
    With CreateObject("Shell.Application").Namespace("C:HOSTDIRECTORY")
        MsgBox .GetDetailsOf(.Items.Item("FILE.NAME"), PROP_COMPUTER)
    End With
    

    June7's user avatar

    June7

    19.5k8 gold badges24 silver badges33 bronze badges

    answered Apr 13, 2011 at 16:20

    Alex K.'s user avatar

    3

    You can get this with .BuiltInDocmementProperties.

    For example:

    Public Sub PrintDocumentProperties()
        Dim oApp As New Excel.Application
        Dim oWB As Workbook
        Set oWB = ActiveWorkbook
    
        Dim title As String
        title = oWB.BuiltinDocumentProperties("Title")
    
        Dim lastauthor As String
        lastauthor = oWB.BuiltinDocumentProperties("Last Author")
    
        Debug.Print title
        Debug.Print lastauthor
    End Sub
    

    See this page for all the fields you can access with this: http://msdn.microsoft.com/en-us/library/bb220896.aspx

    If you’re trying to do this outside of the client (i.e. with Excel closed and running code from, say, a .NET program), you need to use DSOFile.dll.

    answered Apr 13, 2011 at 15:57

    Todd Main's user avatar

    Todd MainTodd Main

    28.9k11 gold badges82 silver badges146 bronze badges

    3

    'vb.net
    'Extended file stributes
    'visual basic .net sample 
    
    Dim sFile As Object
            Dim oShell = CreateObject("Shell.Application")
            Dim oDir = oShell.Namespace("c:temp")
    
            For i = 0 To 34
                TextBox1.Text = TextBox1.Text & oDir.GetDetailsOf(oDir, i) & vbCrLf
                For Each sFile In oDir.Items
                    TextBox1.Text = TextBox1.Text & oDir.GetDetailsOf(sFile, i) & vbCrLf
                Next
                TextBox1.Text = TextBox1.Text & vbCrLf
            Next
    

    Laurel's user avatar

    Laurel

    5,93314 gold badges31 silver badges57 bronze badges

    answered Jun 2, 2016 at 17:05

    Jorge Gudiño's user avatar

    I was finally able to get this to work for my needs.

    The old voted up code does not run on windows 10 system (at least not mine). The referenced MS library link below provides current examples on how to make this work. My example uses them with late bindings.

    https://learn.microsoft.com/en-us/windows/win32/shell/folder-getdetailsof.

    The attribute codes were different on my computer and like someone mentioned above most return blank values even if they are not. I used a for loop to cycle through all of them and found out that Title and Subject can still be accessed which is more then enough for my purposes.

    Private Sub MySubNamek()
    Dim objShell  As Object 'Shell
    Dim objFolder As Object 'Folder
    
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.NameSpace("E:MyFolder")
    
    If (Not objFolder Is Nothing) Then
    Dim objFolderItem As Object 'FolderItem
    Set objFolderItem = objFolder.ParseName("Myfilename.txt")
            For i = 0 To 288
               szItem = objFolder.GetDetailsOf(objFolderItem, i)
               Debug.Print i & " - " & szItem
           Next
    Set objFolderItem = Nothing
    End If
    
    Set objFolder = Nothing
    Set objShell = Nothing
    End Sub
    

    help-info.de's user avatar

    help-info.de

    6,43016 gold badges42 silver badges40 bronze badges

    answered Oct 1, 2019 at 19:41

    kdoske's user avatar

    3

    Lucky discovery

    if objFolderItem is Nothing when you call

    objFolder.GetDetailsOf(objFolderItem, i)
    

    the string returned is the name of the property, rather than its (undefined) value
    e.g. when i=3 it returns «Date modified»

    Doing it for all 288 values of I makes it clear why most cause it to return blank for most filetypes
    e.g i=175 is «Horizontal resolution»

    Muhammad Dyas Yaskur's user avatar

    answered Jun 5, 2020 at 21:01

    Steve Corless's user avatar

    1

    totn Excel Functions


    This Excel tutorial explains how to use the Excel SETATTR function with syntax and examples.

    Description

    The Microsoft Excel SETATTR statement allows you to set the attributes of a file.

    The SETATTR function is a built-in function in Excel that is categorized as a File/Directory Function. It can be used as a VBA function (VBA) in Excel. As a VBA function, you can use this function in macro code that is entered through the Microsoft Visual Basic Editor.

    Syntax

    The syntax for the SETATTR function in Microsoft Excel is:

    SetAttr path, attributes

    Parameters or Arguments

    path
    The path to a file that you wish to set the attributes for.
    attributes

    The attributes that you’d like to set for the file. Attributes can be the following values:

    VB Constant Value Explanation
    vbNormal 0 Normal (default)
    vbReadOnly 1 Read-only
    vbHidden 2 Hidden
    vbSystem 4 System file
    vbArchive 32 File has been changed since last backup
    vbAlias 64 File name is an alias (Macintosh only)

    Returns

    The SETATTR function does not return a value, but rather sets the attributes of a file.

    Applies To

    • Excel for Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 for Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000

    Type of Function

    • VBA function (VBA)

    Example (as VBA Function)

    The SETATTR function can only be used in VBA code in Microsoft Excel.

    Let’s look at some Excel SETATTR function examples and explore how to use the SETATTR function in Excel VBA code:

    SetAttr "C:instructions.doc", vbNormal
    Result: Sets the file to Normal
    
    SetAttr "C:instructions.doc", vbReadOnly + vbHidden
    Result: Sets the file to ReadOnly and Hidden

    For example:

    SetAttr "c:TestDoc1.doc", vbReadOnly + vbHidden

    In this example, the file called Doc1.doc (found in the c:Test directory) would now be set to a ReadOnly, Hidden file.

    Содержание

    1. Объект FileSystemObject
    2. 1. Создание объекта
    3. 2. Свойства
    4. 2.1. Drives
    5. 3. Методы
    6. 3.1. CreateFolder
    7. 3.2. CopyFile
    8. 3.3. CopyFolder
    9. 3.4. MoveFile
    10. 3.5. MoveFolder
    11. 3.6. DeleteFile
    12. 3.7. DeleteFolder
    13. 3.8. BuildPath
    14. 3.9. GetAbsolutePathName
    15. 3.10. GetBaseName
    16. 3.11. GetExtensionName
    17. 3.12. GetFileName
    18. 3.13. GetParentFolderName
    19. 3.14. GetDriveName
    20. 3.15. DriveExists
    21. 3.16. FileExists
    22. 3.17. FolderExists
    23. 3.18. GetDrive
    24. 3.19. GetFile
    25. 3.20. GetFolder
    26. 3.21. GetSpecialFolder
    27. 3.22. GetTempName
    28. 3.23. CreateTextFile
    29. 3.24. OpenTextFile
    30. 3.25. GetStandardStream
    31. 3.26. GetFileVersion
    32. 4. Объект Drive
    33. 4.1. Создание объекта
    34. 4.2. Свойства
    35. 4.2.1. AvailableSpace
    36. 4.2.2. DriveLetter
    37. 4.2.3. DriveType
    38. 4.2.4. FileSystem
    39. 4.2.5. FreeSpace
    40. 4.2.6. IsReady
    41. 4.2.7. Path
    42. 4.2.8. RootFolder
    43. 4.2.9. SerialNumber
    44. 4.2.10. ShareName
    45. 4.2.11. TotalSize
    46. 4.2.12. VolumeName
    47. 5. Объект File
    48. 5.1. Создание объекта
    49. 5.2. Свойства
    50. 5.2.1. Attributes
    51. 5.2.2. DateCreated
    52. 5.2.3. DateLastAccessed
    53. 5.2.4. DateLastModified
    54. 5.2.5. Drive
    55. 5.2.6. Name
    56. 5.2.7. ParentFolder
    57. 5.2.8. Path
    58. 5.2.9. ShortName
    59. 5.2.10. ShortPath
    60. 5.2.11. Size
    61. 5.2.12. Type
    62. 5.3. Методы
    63. 5.3.1. Copy
    64. 5.3.2. Move
    65. 5.3.3. Delete
    66. 5.3.4. OpenAsTextStream
    67. 6. Объект Folder
    68. 6.1. Создание объекта
    69. 6.2. Свойства
    70. 6.2.1. Attributes
    71. 6.2.2. DateCreated
    72. 6.2.3. DateLastAccessed
    73. 6.2.4. DateLastModified
    74. 6.2.5. Drive
    75. 6.2.6. IsRootFolder
    76. 6.2.7. Name
    77. 6.2.8. ParentFolder
    78. 6.2.9. Path
    79. 6.2.10. ShortName
    80. 6.2.11. ShortPath
    81. 6.2.12. Size
    82. 6.2.13. Type
    83. 6.2.14. SubFolders
    84. 6.2.15. Files
    85. 6.3. Методы
    86. 6.3.1. Copy
    87. 6.3.2. Move
    88. 6.3.3. Delete
    89. 6.3.4. CreateTextFile
    90. 7. Объект TextStream
    91. 7.1. Создание объекта
    92. 7.2. Свойства
    93. 7.2.1. AtEndOfLine
    94. 7.2.2. AtEndOfStream
    95. 7.2.3. Column
    96. 7.2.4. Line
    97. 7.3. Методы
    98. 7.3.1. Close
    99. 7.3.2. Read
    100. 7.3.3. ReadAll
    101. 7.3.4. ReadLine
    102. 7.3.5. Skip
    103. 7.3.6. SkipLine
    104. 7.3.7. Write
    105. 7.3.8. WriteLine
    106. 7.3.9. WriteBlankLines

    Объект FileSystemObject

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

    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(".aaabbbccc.txt")
    MsgBox Path
    

    3.10. GetBaseName

    Синтаксис:

    GetBaseName(<Path>)
    

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

    Параметры:

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

    Пример:

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Name = FSO.GetBaseName("Q:aaabredMySuperFile.txt")
    MsgBox Name
    

    3.11. GetExtensionName

    Синтаксис:

    GetExtensionName(<Path>)
    

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

    Параметры:

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

    Пример:

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Name = FSO.GetExtensionName("Q:aaabredMySuperFile.txt")
    MsgBox Name
    

    3.12. GetFileName

    Синтаксис:

    GetFileName(<Path>)
    

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

    Параметры:

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

    Пример:

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Name = FSO.GetFileName("Q:aaabredMySuperFile.txt")
    MsgBox Name
    

    3.13. GetParentFolderName

    Синтаксис:

    GetParentFolderName(<Path>)
    

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

    Параметры:

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

    Пример:

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Name = FSO.GetParentFolderName("Q:aaabredMySuperFile.txt")
    MsgBox Name
    

    3.14. GetDriveName

    Синтаксис:

    GetDriveName(<Path>)
    

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

    Параметры:

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

    Пример:

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Name = FSO.GetDriveName("X:aaabredMySuperFile.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 Files1Cv77BIN1cv7s.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("\Server1C_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 Files1Cv77BIN1cv7s.exe")
    MsgBox FSO.GetFileVersion("C:Program Files1cv8bin1cv8.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
    

    Синтаксис:

    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:JobSite")
    Folder.Copy "D:"
    

    6.3.2. Move

    Синтаксис:

    Move(<Destination>)
    

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

    Параметры:

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

    Пример:

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Folder = FSO.GetFolder("D:JobSite")
    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
    

    INTELLIGENT WORK FORUMS
    FOR COMPUTER PROFESSIONALS

    Contact US

    Thanks. We have received your request and will respond promptly.

    Log In

    Come Join Us!

    Are you a
    Computer / IT professional?
    Join Tek-Tips Forums!

    • Talk With Other Members
    • Be Notified Of Responses
      To Your Posts
    • Keyword Search
    • One-Click Access To Your
      Favorite Forums
    • Automated Signatures
      On Your Posts
    • Best Of All, It’s Free!

    *Tek-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

    Posting Guidelines

    Promoting, selling, recruiting, coursework and thesis posting is forbidden.

    Students Click Here

    Excel File Attributes

    Excel File Attributes

    (OP)

    18 Aug 05 12:07

    I have an application that loads a dataset from an Excel document. For the dataadpater I use

    CODE

    Dim odaExcel As New OleDbDataAdapter(«SELECT * FROM [Sheet1$]», conn)

    I would like to get the actual value of Sheet1 before I pull the dataset. Is their a way to get the value by opening the document?(I know how to open the document I just cant find how to return the sheet name) Thanks.

    Matt McCartney
    www.tmgco.com

    Red Flag Submitted

    Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
    The Tek-Tips staff will check this out and take appropriate action.

    Join Tek-Tips® Today!

    Join your peers on the Internet’s largest technical computer professional community.
    It’s easy to join and it’s free.

    Here’s Why Members Love Tek-Tips Forums:

    • Tek-Tips ForumsTalk To Other Members
    • Notification Of Responses To Questions
    • Favorite Forums One Click Access
    • Keyword Search Of All Posts, And More…

    Register now while it’s still free!

    Already a member? Close this window and log in.

    Join Us             Close

    Понравилась статья? Поделить с друзьями:
  • Excel file and read only
  • Excel fields not calculating
  • Excel fgv push to open
  • Excel external links что это
  • Excel express microsoft outlook