Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Set FSO = CreateObject("Scripting.FileSystemObject")
Примечание модератора: Примеры FSO js.
FileSystemObject(FSO) — содержится в библиотеке типов Scripting, расположенной в файле библиотеки scrrun.dll.
Объектная модель FSO дает возможность:
создавать
считывать
изменять
перемещать
удалять
перечислять
папки и файлы, собирать о них различную информацию:
Параметры: <Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?". <Destination> - строка, путь назначения (куда копировать). <Overwrite> - необязательный, булево (число). Перезаписывать существующие файлы, или нет. По умолчанию - True (перезаписывать). Если файл, который нужно перезаписать, имеет атрибут read-only, возникнет ошибка (независимо от установки этого параметра).
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "C:\*.bat", "A:\", 0
Параметры: <Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?". <Destination> - строка, путь назначения (куда копировать). <Overwrite> - необязательный, булево (число). Перезаписывать существующие файлы, или нет. По умолчанию - True (перезаписывать). Если файл, который нужно перезаписать, имеет атрибут read-only, возникнет ошибка (независимо от установки этого параметра).
Описание: процесс копирования прерывается после первой возникшей ошибки.
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder "C:\NewFolder\*", "C:\TEMP\", 0
Параметры: <Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?". <Destination> - строка, путь назначения (куда копировать).
Описание: процесс перемещения прерывается после первой возникшей ошибки. Если перемещаемый файл уже существует или является папкой в Destination, возникнет ошибка.
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.MoveFile "C:\*.txt", "A:\"
Назначение: рекурсивно перемещает один или несколько каталогов.
Параметры: <Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?". <Destination> - строка, путь назначения (куда копировать).
Описание: процесс перемещения прерывается после первой возникшей ошибки. Если перемещаемый каталог уже существует или является файлом в Destination, возникнет ошибка.
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.MoveFolder "C:\New Folde*", "C:\TEMP\"
Параметры: <Filespec> - строка, путь к файлу. В последнем компоненте параметра можно использовать групповые символы "*" и "?". <Force> - необязательный, булево (число). Определяет, удалять или нет файлы с атрибутом read-only. По умолчанию - False (не удалять).
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFile "A:\*", 0
Параметры: <Folderspec> - строка, путь к папке. В последнем компоненте параметра можно использовать групповые символы "*" и "?". <Force> - необязательный, булево (число). Определяет, удалять или нет файлы с атрибутом read-only. По умолчанию - False (не удалять).
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFolder "A:\*", 0
Назначение: возвращает True, если указанный диск сущесвтвует, и False в противном случае.
Параметры: <Drivespec> - строка, путь.
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Disk = "A:"
MsgBox "Диск " & Disk & " существует = " & FSO.DriveExists(Disk)
Disk = "Q:"
MsgBox "Диск " & Disk & " существует = " & FSO.DriveExists(Disk)
Назначение: возвращает объект "Folder" для некоторых специальных папок Windows.
Параметры: <Folderspec> - число, определяет специальную папку. Возможные значения:
0 - Каталог Windows.
1 - Системный каталог библиотек и драйверов.
2 - Каталог временных файлов, путь к которому хранится в переменной среды "TMP".
Описание: если каталог не существует, произойдёт ошибка.
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
For i=0 To 2
Set Folder = FSO.GetSpecialFolder(i)
MsgBox Folder.Path
Next
Назначение: создаёт новый текстовый файл и возвращает объект "TextStream", указывающий на него.
Параметры: <Filename> - строка, путь к файлу. <Overwrite> - необязательный, булево (число). Перезаписывать файл, если он существует (True), или нет (False). По умолчанию - False. Если указано False и файл существует - произойдёт ошибка. <Unicode> - необязательный, булево (число). Файл в формате Unicode (True), или ASCII (False). По умолчанию - False.
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt")
Назначение: открывает текстовый файл и возвращает объект "TextStream", указывающий на него.
Параметры: <Filename> - строка, путь к файлу. <Iomode> - необязательный, число. Возможные значения:
1 - Открыть файл только для чтения.
2 - Открыть файл для записи. Если файл уже существовал, его содержимое теряется.
8 - Открыть файл для добавления. Если файл уже существовал, информация будет дописываться в конец файла.
<Create> - необязательный, булево (число). Создавать файл, если он не существует (True), или нет (False). По умолчанию - False.
<Format> - необязательный, число. Возможные значения:
-2 - Открыть файл в формате, используемом системой по умолчанию.
-1 - Открыть файл в формате Unicode.
0 - Открыть файл в формате ASCII (по умолчанию).
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile("C:\Test.txt", 2, True)
Возвращаемое значение: булево (число) - True, если устройство готово, иначе - False. Актуально для устройства со сменным носителем или CD-ROM.
Замечание: только чтение.
Возвращаемое значение: число, набор флагов атрибутов файла. Флаги:
0 - Normal. Обычный файл (нет атрибутов).
1 - ReadOnly. Файл только для чтения. Чтение и запись.
2 - Hidden. Скрытый. Чтение и запись.
4 - System. Системный. Чтение и запись.
8 - Volume. Диск. Только чтение.
16 - Directory. Папка или файл. Только чтение.
32 - Archive. Архивный. Чтение и запись.
1024 - Alias. Ссылка или ярлык. Только чтение.
2048 - Compressed. Сжатый. Только чтение.
Замечание: чтение и запись или только чтение, в зависимости от атрибута.
Пример:
VB.NET / VBA:
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
Параметры: <Destination> - строка, путь (куда копировать). <Overwrite> - необязательный, булево (число). Заменять файл, если он существует (True), или нет (False)
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
File.Copy "D:\"
File.Copy "D:\Copy of autoexec.bat"
Назначение: открывает текстовый файл и возвращает объект "TextStream", указывающий на него.
Параметры: <Iomode> - необязательный, число. Возможные значения:
1 - Открыть файл только для чтения.
2 - Открыть файл для записи. Если файл уже существовал, его содержимое теряется.
8 - Открыть файл для добавления. Если файл уже существовал, информация будет дописываться в конец файла.
<Format> - необязательный, число. Возможные значения:
-2 - Открыть файл в формате, используемом системой по умолчанию.
-1 - Открыть файл в формате Unicode.
0 - Открыть файл в формате ASCII (по умолчанию).
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadAll()
TextStream.Close
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Пример №2:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetSpecialFolder(0)
Пример №3:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Set Folder = DriveC.RootFolder
Пример №4:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
For Each SubFolder In Folder.SubFolders
WScript.Echo SubFolder.Name
Next
Возвращаемое значение: число, набор флагов атрибутов папки. Флаги:
0 - Normal. Обычный файл (нет атрибутов).
1 - ReadOnly. Файл только для чтения. Чтение и запись.
2 - Hidden. Скрытый. Чтение и запись.
4 - System. Системный. Чтение и запись.
8 - Volume. Диск. Только чтение.
16 - Directory. Папка или файл. Только чтение.
32 - Archive. Архивный. Чтение и запись.
1024 - Alias. Ссылка или ярлык. Только чтение.
2048 - Compressed. Сжатый. Только чтение.
Замечание: чтение и запись или только чтение, в зависимости от атрибута.
Пример:
VB.NET / VBA:
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
Возвращаемое значение: тип каталога. Информация, похожая на ту, которую можно увидеть в палитре свойств каталога в проводнике.
Замечание: только чтение.
Возвращаемое значение: объект-коллекция "Folders", содержащая все подкаталоги данного каталога, включая скрытые и системные.
Замечание: только чтение.
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
MsgBox Folder.SubFolders.Count
Set SubFolder = Folder.SubFolders.Item("Program Files")
MsgBox SubFolder.Path
Set SubFolder = Folder.SubFolders("Program Files")
MsgBox SubFolder.Path
Другой пример:
VB.NET / VBA:
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")
Параметры: <Destination> - строка, путь (куда копировать). <Overwrite> - необязательный, булево (число). Заменять каталог, если он существует (True), или нет (False).
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("D:\Job\Site")
Folder.Copy "D:\"
Назначение: создаёт новый текстовый файл и возвращает объект "TextStream", указывающий на него.
Параметры: <Filename> - строка, имя файла. <Overwrite> - необязательный, булево (число). Перезаписывать файл, если он существует (True), или нет (False). По умолчанию - False. Если указано False и файл существует - произойдёт ошибка. <Unicode> - необязательный, булево (число). Файл в формате Unicode (True), или ASCII (False). По умолчанию - False.
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set TextStream = Folder.CreateTextFile("Test.txt")
Возвращаемое значение: содержит True, если указатель достиг конца строки и False в противном случае. Работает только если файл открыт для чтения.
Замечание: только чтение.
Пример:
VB.NET / VBA:
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
Возвращаемое значение: содержит True, если указатель достиг конца файла и False в противном случае. Работает только если файл открыт для чтения.
Замечание: только чтение.
Пример:
VB.NET / VBA:
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
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadAll()
TextStream.Close
Назначение: считывает из файла указанное количество символов и возвращает полученную строку.
Параметры: <Characters> - число, количество символов, которое нужно считать.
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.Read(13)
TextStream.Close
Назначение: считывает весь файл и возвращает полученную строку.
Параметры: нет.
Описание: для больших файлов использование этого метода потребует больших ресурсов памяти.
Пример:
VB.NET / VBA:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadAll()
TextStream.Close
Если возникает ошибка,свидетельствующая об отсутствии fso,то надо подключать Microsoft Scripting Runtime.
Выбираешь в меню Project > References...
пункт "Microsoft Scripting Runtime" (scrrun.dll)
Я так понял это не очень надежный вариант.
Как еще можно?
+ я верно понимаю,что если я подключил библиотеку,а на другом ПК она повреждена или отсутствует - то моя программа срубится и код не выполнится?