Vbs изменить атрибуты файла

Обновлено: 04.07.2024

В этом пошаговом руководстве приводятся основные сведения о файловом вводе-выводе в Visual Basic. В нем описывается создание небольшого приложения, перечисляющего текстовые файлы в каталоге и анализирующего их. Для каждого выбранного текстового файла приложение предоставляет атрибуты файла и первую строку содержимого. Кроме того, предоставляется возможность записать информацию в файл журнала.

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.

Создание проекта

В меню Файл выберите пункт Создать проект.

Откроется диалоговое окно Создание проекта .

В области Установленные шаблоны разверните узел Visual Basic и выберите элемент Windows. В середине области Шаблоны щелкните Приложение Windows Forms.

В поле Имя введите FileExplorer , чтобы задать имя проекта, а затем нажмите кнопку ОК.

Visual Studio добавит проект в обозреватель решений, после чего откроется конструктор Windows Forms.

Добавьте в форму элементы управления из приведенной ниже таблицы и установите для их свойств соответствующие значения.

Выбор папки и перечисление файлов в ней

Создайте обработчик событий нажатия Click для кнопки browseButton , дважды щелкнув этот элемент управления в форме. Откроется редактор кода.

Добавьте следующий код в обработчик событий Click .

Вызов FolderBrowserDialog1.ShowDialog открывает диалоговое окно Выбор папки. Когда пользователь нажимает OK, свойство SelectedPath передается как аргумент методу ListFiles , который добавляется в следующем шаге.

Добавьте приведенный ниже метод ListFiles .

Этот код сперва очищает элемент ListBox.

Затем метод GetFiles возвращает коллекцию строк — по одной для каждого файла в каталоге. Метод GetFiles принимает аргумент шаблона поиска, чтобы извлечь файлы, соответствующие определенному шаблону. В этом примере возвращаются только файлы с расширением TXT.

Строки, возвращаемые методом GetFiles , затем добавляются в элемент управления ListBox.

Элемент ListBox содержит список TXT-файлов в выбранной папке.

Остановите работу приложения.

Получение атрибутов файла и содержимого текстового файла

Создайте обработчик событий нажатия Click для кнопки examineButton , дважды щелкнув этот элемент управления в форме.

Добавьте следующий код в обработчик событий Click .

Этот код проверяет, выбран ли элемент в элементе ListBox . Затем он получает запись пути к файлу из элемента ListBox . Метод FileExists позволяет проверить, существует ли файл.

Путь к файлу передается как аргумент методу GetTextForOutput , который добавляется в следующем шаге. Этот метод возвращает строку, содержащую информацию о файле. Информация о файле отображается в элементе MessageBox.

Добавьте приведенный ниже метод GetTextForOutput .

Метод GetFileInfo используется в коде для получения параметров файла. Параметры файла добавляются в StringBuilder.

Метод OpenTextFileReader считывает содержимое файла в StreamReader. Первая строка содержимого файла извлекается из StreamReader и добавляется в StringBuilder .

Выберите файл в элементе ListBox и щелкните Исследовать. В окне MessageBox будет выведена информация о файле.

Остановите работу приложения.

Добавление записи в журнал

В конец обработчика событий examineButton_Click добавьте приведенный ниже код.

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

Метод WriteAllText, которому передается аргумент append со значением True , используется для создания записи в журнале.

Запустите приложение. Перейдите к текстовому файлу, выберите его в элементе ListBox , установите флажок Сохранить результаты и щелкните Исследовать. Проверьте, добавлена ли запись в файл log.txt .

Остановите работу приложения.

Использование текущего каталога

Создайте обработчик событий для события Form1_Load , дважды щелкнув форму.

Добавьте в обработчик событий приведенный ниже код.

Этот код задает текущий каталог в качестве каталога по умолчанию для обозревателя папок.

Запустите приложение. При первом нажатии кнопки Обзор открывается диалоговое окно Выбор папки с текущим каталогом.

Остановите работу приложения.

Выборочное включение элементов управления

Добавьте приведенный ниже метод SetEnabled .

Метод SetEnabled включает и отключает элементы управления в зависимости от того, выбран ли элемент в элементе ListBox .

Создайте обработчик событий SelectedIndexChanged для элемента filesListBox , дважды щелкнув элемент управления ListBox в форме.

Добавьте вызов метода SetEnabled в новый обработчик событий filesListBox_SelectedIndexChanged .

Добавьте вызов метода SetEnabled в конце обработчика событий browseButton_Click .

Добавьте вызов метода SetEnabled в конце обработчика событий Form1_Load .

Запустите приложение. Флажок Сохранить результаты и кнопка Исследовать отключены, если элемент не выбран в элементе ListBox .

Создавая сценарии, позволяющие автоматизировать различные процессы в сети, зачастую необходимо программно управлять файловой системой NTFS, а именно: создавать, удалять, перемещать, копировать файлы и папки; изменять их атрибуты и права доступа к ним. Такие сценарии могут быть созданы с помощью VBScript или JSсript. В данной статье все примеры будут приведены на VBScript.

Основы программного управления файловой системой

Для программного управления файловой системой NTFS с помощью VBScript рекомендуется использовать встроенный объект FileSystem Object, поддерживающий набор методов, перечисленных в таблице 1:

Объект или набор

Набор всех логических, физических и съемных дисков

Объект, методы и свойства которого позволяют обращаться к диску, получать о нем различную информацию

Набор всех подпапок в каталоге

Объект, методы которого используются для создания, перемещения, переименования и удаления папок, а свойства – для получения имен папок, путей и т.д.

Набор всех файлов в папке

Объект, методы которого используются для создания, перемещения, переименования и удаления файлов, а свойства – для получения имен файлов и путей

Главный объект объектной модели. Поддерживает все методы и свойства для доступа к файловой системе

Методы этого объекта позволяют осуществлять различные манипуляции с текстовыми файлами

Для получения доступа к объектам FSO необходимо создать переменную-объект и присвоить ей ссылку на объект FileSystemObject:

После создания объекта становятся доступны его методы, свойства и дочерние объекты. Поскольку в данной статье будут рассмотрены вопросы, касающиеся операций с файлами и папками, то некоторые объекты и наборы, такие как Drive(s) и TextStream, не будут рассмотрены.

Программное получение доступа к папкам

С помощью набора Folders осуществляется формирование списка вложенных файлов и папок в указанном каталоге; просмотр атрибутов каталога; создание, перемещение, переименование и удаление папок.

Доступ к набору Folders можно получить, воспользовавшись следующим шаблоном:

где path – путь к каталогу, например, «C:FolderName» или «ServerShareName».

В качестве обработчика ошибок рекомендуется использовать функцию FolderExists(), с помощью которой можно определить существует ли каталог, по указанному пути:

If fso.FolderExists(path) then

MsgBox "Folder " + path + " Not Exists"

Определение списка подпапок в указанной директории

Формирование списка осуществляется с помощью свойства Name набора SubFolders и Files. С помощью набора SubFolders определяется список папок, вложенных в указанный каталог, а с помощью Files – соответственно список файлов. Приведем пример, в котором будет определены подпапки каталога Windows:

If fso.FolderExists(path) then

For each i In OSubFolders

Temp= "Folder " + path + " Not Exists"

Определение списка всех вложенных подпапок в каталоге

Для чтения всей структуры подкаталогов необходимо вышеописанный механизм поместить в функцию и сделать ее рекурсивной[1]. Функция будет иметь два параметра – путь к абсолютному подкаталогу (PATH) и уровень вложенности подкаталогов (IDX).

Данные, содержащие абсолютные пути к подкаталогам, разумно записывать в динамический одномерный массив. Приведем пример создания и заполнения элементов динамического массива на примере чтения структуры подкаталогов, затем приведем шаблон рекурсивной функции.

Dim Array() 'Объявление динамического массива

' Изменение размера динамического массива

Redim Preserve Array(oFolders.count)

For Each of In oFolders

Array(i)=cstr(oF.Path) ' Запись элементов в массив

'Чтение элементов массива:

For i=Lbound(Array) to Ubound(Array)

Шаблон рекурсивной функции:

' Вызов функции RecFolder в теле сценария

RecFolder index, path

Function Recfolder (idx, path)

Call Recfolder (idx+1, path)

На основе изложенного материала приведем листинг скрипта, который позволяет определить названия всех подпапок, вложенных в указанный каталог (в примере – переменная path):

MsgBox "oFolders_count: "+cstr(detect(q))

For j=0 to cstr(ubound(path_array)-1)

Redim Preserve path_array(oFolders.count)

For Each oF In oFolders

Определение списка файлов, находящихся в директории

Методика определения списка файлов, содержащихся в директории, та же, что и в случае определения списка подкаталогов. Разница заключается в том, что вызывается набор Files, а не SubFolder:

Set WSHShell = WScript.CreateObject("WScript.Shell")

MsgBox "oFiles_count: "+cstr(oFiles.count)

For each oFile in oFiles

temp=temp & oFile.name & chr(13)

Управление атрибутами файлов

Каждый файл имеет набор параметров, которые его характеризуют – название, расширение, размер, даты создания и последнего изменения файла, его атрибуты. О том, как считывать названия файлов и их расширения, было рассказано ранее. Пришло время рассказать о методике чтения дат и атрибутов файлов.

Определение атрибутов файлов

Получив доступ к файлам, как это показано в предыдущем разделе, с помощью свойства Attributes можно определить атрибуты файлов.

Свойство Attributes возвращает двоичное значение, расшифровка которых приведена в таблице:

Файл без установленных атрибутов

Файл с атрибутом «только для чтения»

Файл с атрибутом «архивный», модифицированный со времени последнего резервного копирования

Ярлык (файл с расширением LNK)

Сжатый файл (только для Windows 2k)

Приведем пример чтения атрибута файла boot.ini:

Set WSHShell = WScript.CreateObject("WScript.Shell")

MsgBox oFile.Name&": "& oFile.Attributes

Если атрибуты этого файла никто не изменял, то значение свойства oFile.Attributes будет равно 39, что в соответствии с таблицей обозначает, что boot.ini имеет следующие атрибуты: только для чтения, скрытый, системный, архивный.

Для того чтобы пользователь каждый раз не занимался определением атрибутов файлов, необходимо использовать функцию, с помощью которой будет осуществляться сопоставление кода, возвращаемого функцией атрибутам. Также необходимо осуществлять проверку на существование файла с помощью функции FileExists():

Set WSHShell = WScript.CreateObject("WScript.Shell")

if fso.FileExists(path) then

MsgBox oFile.Name&": "& temp

MggBox "Файл " &path& " не существует"

if (Attr_value and &H01)> 0 Then t=t+"Только для чтения; "

if (Attr_value and &H02)> 0 Then t=t+"Скрытый; "

if (Attr_value and &H04)> 0 Then t=t+"Системный; "

if (Attr_value and &H20)> 0 Then t=t+"Архивный; "

if (Attr_value and &H800)> 0 Then t=t+"Сжатый; "

Изменение атрибутов файлов

Изменение атрибутов файлов с помощью FSO осуществляется присвоением другого значения переменной oFile.Name. Значение может быть присвоено как в шестнадцатеричном, так и в десятеричном виде в (см. таблицу 2):

Set WSHShell = WScript.CreateObject("WScript.Shell")

MsgBox oFile.Name&": "& oFile.Attributes

MsgBox oFile.Name&": "& oFile.Attributes

По умолчанию вновь созданный файл readme.txt имеет атрибут «Архивный»(32). Присвоив параметру oFile.Attributes значение 39, файлу будут назначены следующие атрибуты: только чтение, скрытый, системный, архивный.

Операции над файлами и папками

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

Создание и удаление папок

Создание и удаление каталогов осуществляется с помощью методов CreateFolder(path) и DeleteFolder(path) объекта FSO. Параметром каждого из этих методов является путь к каталогу – path. Используя эти методы, желательно включать в листинг скрипта обработчик ошибок, который проверяет наличие или отсутствие папки перед осуществлением каких-либо манипуляций с ней. Приведем два примера: первым из них проиллюстрируем процесс создания новой папки C:TempFolder; во втором – процесс удаления этой папки.

If fso.FolderExists(path)=0 then

Temp= "Folder " + path + " Created "

Temp= "Folder " + path + " Already Exists"

If fso.FolderExists(path)<>0 then

Temp= "Folder " + path + " Deleted"

Temp= "Folder " + path + " is Absent "

Переименование, копирование и перемещение папок

Копирование папок осуществляется с помощью метода CopyFolder source, destination, overwrite, перемещение и переименование – с помощью MoveFolder source, destination, overwrite. Каждый их этих методов имеет три параметра:

Source – обязательный параметр, в котором передается строка с именем исходной папки (путем); путь может включать знаки подстановки, такие как «?» или «*». Рекомендуется использовать знаки подстановки для копирования или перемещения нескольких папок, одновременно удовлетворяющих заданному шаблону

Destination – обязательный параметр, задающий путь к папке назначения в виде строки. Значение этого параметра не может содержать символов подстановки. В том случае если путь заканчивается «» и папка-приемник не существует, то она будет создана.

Overwrite – необязательный параметр, который принимает значение False(0) или True(1). Если он равен True, т.е. 1 (по умолчанию), то целевая папка будет перезаписана.

Обратите внимание на то, что параметры указываются без скобок. Приведем примеры копирования и перемещения папок. Копирование папки:

fso.CopyFolder OldPath, NewPath, 1

MsgBox "Папка " + OldPath + " скопирована в " + NewPath

fso.MoveFolder OldPath, NewPath, 1

MsgBox "Папка " + OldPath + " перемещена в " + NewPath

Копирование и перемещение файлов

Копирование и перемещение файлов осуществляются с помощью методов Copy и Move соответственно. Поскольку использование этих методов одинаково, то они будут рассмотрены совместно. Шаблон вызова любого метода следующий:

If (fso.FileExistes(PathOld)) Then

где вместо «****» указывается название метода. Различие в использовании методов заключается в том, что при вызове метода Move после копирования файла осуществляется удаление первоисточника.

Приведем пример копирования файла:

If (fso.FileExistes(PathOld)) Then

Удаление файла осуществляется с помощью метода Delete, вызываемого аналогичным способом. Отличается лишь синтаксис самого метода: у метода Delete, в отличие от Copy или Move, отсутствуют параметры:

If (fso.FileExistes(PathDel)) Then

Управление правами доступа на файлы и папки

Создавая новую папку или файл на жестком диске с файловой системой NTFS, новому объекту присваиваются права доступа по определенным правилам. Если разговор идет о создании общих папок на сервере, то системного администратора, как правило, не устроят права доступа, назначаемые по умолчанию: они должны быть изменены в соответствии с определенными правилами, описываемыми шаблоном. О том, как программно изменить права доступа на папки и файлы, и пойдет разговор в следующем разделе.

Команда регистрации библиотеки выглядит следующим образом:

regsvr32.exe /s ADsSequrity.dll

Доступ к вышеуказанной библиотеке осуществляется с помощью функции CreateObject(«ADsSecurity») по следующему сценарию:

Set sec = CreateObject("ADsSecurity")

Set sd = sec.GetSecurityDescriptor("FILE://c:\folder")

Set dacl = sd.DiscretionaryAcl

For Each ace In dacl

Wscript.Echo cstr(ace.Trustee)+" " + cstr(ace.AccessMask) + " " + cstr(ace.AceType) + chr(13)+chr(10)

Как видно из примера, для управления правами необходимо создать новый экземпляр объекта ADsSecurity и указать к нему путь, который является параметром функции GetSecurityDescriptor(). Таким образом, можно получить доступ к коллекции DiscretionaryAcl, членами которой являются Trustee, AccessMask, AceType, AceCount и не фигурирующий в данном шаблоне RemoveAcl:

Пользователь или группа, которым определяется уровень доступа

Определяет тип доступа (Allow, Deny, Audit)

Определяет уровень доступа к ресурсу ( Full Control , Modify , Read , Execute и т.д.)

Количество объектов, которым назначены права

Удаление существующего объекта (группы или пользователя)

После многочисленных экспериментов были установлены и сведены в таблицы значения различных параметров:

Есть три способа создания пустого текстового файла (иногда называемого как «text stream»).

Первый способ — это использование метода CreateTextFile. В следующем примере показано, как создать текстовый файл, используя этот метод: Пример использования данного метода см. в разделе «3.7. Пример работы с объектом FileSystemObject».

Второй способ — это использование метода OpenTextFile объекта FileSystemObject с набором флагов ForWriting. В следующем примере показано, как создать текстовый файл, используя этот метод: Третий способ — это использование метода OpenAsTextStream с набором флагов ForWriting. В следующем примере показано, как создать текстовый файл, используя этот метод:

Добавление данных в файл

  • Открыть текстовый файл
  • Записать данные
  • Закрыть файл

Для записи данных в текстовый файл используйте методы Write, WriteLine или WriteBlankLines объекта TextStream, в зависимости от задач, описанных в приведённой ниже таблице:

Задача Метод
Запись данных в текстовый файл без символа перехода на новую строку в конце Write
Запись данных в текстовый файл с символом перехода на новую строку в конце WriteLine
Запись одной или более пустых строк в открытый текстовый файл WriteBlankLines

Для закрытия текстового файла используйте метод Close объекта TextStream. Закрыть файл можно также методом Close объекта FileSystemObject. Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».

ПРИМЕЧАНИЕ
Символ новой строки содержит символ или символы (зависит от операционной системы) для перевода курсора в начало новой строки (возврат каретки/перевод строки). Следует учитывать, что некоторые строки уже могут иметь в конце эти непечатаемые символы.

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

Чтение файлов

Для чтения данных из файла используйте методы Read, ReadLine или ReadAll объекта TextStream. Эти методы и задачи, решаемые с их помощью, описаны в приведённой ниже таблице:

Задача Метод
Чтение указанного количества символов из файла Read
Чтение полной строки из файла (до символа конца строки, но не включая его) ReadLine
Чтение всего содержимого файла ReadAll

Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».

Если вы используете методы Read или ReadLine и хотите пропустить определённую часть данных, то используйте методы Scip или ScipLine. Полученный в результате работы этих методов текст может быть сохранён в строку, которую можно отобразить на экране в элементе управления, передать в качестве параметра в строковую функцию (например, в Left, Right или Mid), соединить с другой строкой и т.п.

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

Перемещение, копирование и удаление файлов

Объектная модель FSO имеет для каждой из операций перемещения, копирования или удаления файлов по два метода. Эти методы и задачи, решаемые с их помощью, описаны в приведённой ниже таблице:

Задача Метод
Перемещение файла File.Move или FileSystemObject.MoveFile
Копирование файла File.Copy или FileSystemObject.CopyFile
Удаление файла File.Delete или FileSystemObject.DeleteFile

Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».

В следующем примере создаётся текстовый файл в корневом каталоге диска С, записывается в него некоторая информация. Затем файл перемещается в директорию с именем \tmp, копируется в директорию \temp, а затем удаляются копии из обеих директорий.

Для проверки работы этого примера создайте в корневом каталоге диска С директории tmp и temp.

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

3.1. CreateFolder

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

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

3.2. CopyFile

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

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

3.3. CopyFolder

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

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

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

3.4. MoveFile

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

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

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

3.5. MoveFolder

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

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

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

3.6. DeleteFile

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

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

3.7. DeleteFolder

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

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

3.8. BuildPath

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

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

3.9. GetAbsolutePathName

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

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

3.10. GetBaseName

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

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

3.11. GetExtensionName

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

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

3.12. GetFileName

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

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

3.13. GetParentFolderName

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

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

3.14. GetDriveName

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

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

3.15. DriveExists

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

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

3.16. FileExists

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

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

3.17. FolderExists

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

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

3.18. GetDrive

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

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

3.19. GetFile

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

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

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

3.20. GetFolder

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

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

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

3.21. GetSpecialFolder

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

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

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

3.22. GetTempName

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

3.23. CreateTextFile

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

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

3.24. OpenTextFile

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

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

Читайте также: