Функция FileInstall

         Описание функции


FileInstall

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

FileInstall ( "source", "dest" [, flag = 0 ] )

Параметры

source Путь к файлу для включения в скомпилированный скрипт. Это должна быть строка! Не может быть переменной, константой или результатом вызова функции. Может быть относительным путём (при использовании .\ или ..\) по отношению к файлу скрипта (.au3).
dest Путь назначения файла. Может быть каталогом. Может быть переменной.
flag [необязательный] Этот флаг указывает на поведение функции в случае, если файлы уже существуют в каталоге назначения:
0 = (по умолчанию) не перезаписывать существующие файлы
1 = перезаписывать существующие файлы

Возвращаемое значение

Успех:Возвращает 1.
Ошибка:Возвращает 0.

Примечания

Функция FileInstall создана для включения файлов в скомпилированный скрипт AutoIt. Эти включённые файлы могут быть извлечены во время выполнения скомпилированного скрипта, если функция FileInstall будет выполнена. Следует помнить, что большие файлы (например, изображения) могут существенно увеличить размер скомпилированного скрипта.
Исходный файл должен быть задан строкой в явном виде и не может быть переменной, константой, результатом выполнения выражения или вызова функции. Файл должен быть найден во время компиляции, однако, переменные вычисляются только во время выполнения скрипта.
Путь к исходному файлу не может содержать масок (wildcards).

Когда эта функция выполняется в нескомпилированном скрипте, вместо неё выполняется операция копирования (чтобы обеспечить отладку без необходимости компилировать скрипт).
Файл сохраняет оригинальные метки даты создания/модификации при извлечении.

Каталог назначения файла должен существовать, иначе эта функция вернёт 0 и не будет создавать ни каталога, ни файла. Следует использовать DirCreate() чтобы создать нужный каталог.

Атрибуты уже существующего файла могут помешать ему быть перезаписанным. Следует использовать FileDelete() или FileSetAttrib() чтобы быть уверенным, что файл установится без проблем.

См. также

DirCreate, FileDelete, FileSetAttrib

Пример

; Добавляет файл "C:\test.bmp" в скомпилированный скрипт и извлекает в "D:\mydir\test.bmp", при запуске скомпилированного скрипта
$b = True
If $b = True Then FileInstall("C:\test.bmp", "D:\mydir\test.bmp")

FileInstall("test.gif", @TempDir & '\test.gif') ; Если скрипт не скомпилирован, то файл будет скопирован в казанный каталог
FileInstall("test.gif", "*") ; файл находится в каталоге скрипта при компиляции, а также извлекается в каталог скомпилированного скрипта при запуске

; Позволяет использовать каталог скрипта текущим, если скрипт не скомпилирован
If @Compiled Then
    FileInstall("test.gif", @TempDir & '\test.gif')
    FileChangeDir(@TempDir) ; либо установить текущий каталог
    $CurrentDir = @TempDir ; либо назначить текущий каталог в переменную
Else
    FileInstall("test.gif", "*")
    FileChangeDir(@ScriptDir)
    $CurrentDir = @ScriptDir
EndIf