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=0To2Set 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. Сжатый. Только чтение.
Замечание: чтение и запись или только чтение, в зависимости от атрибута.
Параметры: <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 (по умолчанию).
Set FSO = CreateObject("Scripting.FileSystemObject")Set Folder = FSO.GetFolder("C:\ProgramFiles")
Пример №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:\ProgramFiles")For Each SubFolder In Folder.SubFolders
WScript.Echo SubFolder.NameNext
Возвращаемое значение: число, набор флагов атрибутов папки. Флаги:
0 - Normal. Обычный файл (нет атрибутов).
1 - ReadOnly. Файл только для чтения. Чтение и запись.
2 - Hidden. Скрытый. Чтение и запись.
4 - System. Системный. Чтение и запись.
8 - Volume. Диск. Только чтение.
16 - Directory. Папка или файл. Только чтение.
32 - Archive. Архивный. Чтение и запись.
1024 - Alias. Ссылка или ярлык. Только чтение.
2048 - Compressed. Сжатый. Только чтение.
Замечание: чтение и запись или только чтение, в зависимости от атрибута.
Возвращаемое значение: тип каталога. Информация, похожая на ту, которую можно увидеть в палитре свойств каталога в проводнике.
Замечание: только чтение.
Параметры: <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 в противном случае. Работает только если файл открыт для чтения.
Замечание: только чтение.
Возвращаемое значение: содержит True, если указатель достиг конца файла и False в противном случае. Работает только если файл открыт для чтения.
Замечание: только чтение.
Если возникает ошибка,свидетельствующая об отсутствии fso,то надо подключать Microsoft Scripting Runtime.
Выбираешь в меню Project > References...
пункт "Microsoft Scripting Runtime" (scrrun.dll)
Я так понял это не очень надежный вариант.
Как еще можно?
+ я верно понимаю,что если я подключил библиотеку,а на другом ПК она повреждена или отсутствует - то моя программа срубится и код не выполнится?