Funktionreferenz


FileInstall

Beschreibung anzeigen in

Bindet eine Datei in das kompilierte Skript ein und kopiert sie in das angegebene Verzeichnis.

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

Parameter

source Der Quellpfad der Datei, die eingebunden und kompiliert werden soll. Dieser muss ein reiner String sein; er kann keine Variable oder das Ergebnis eines Funktionsaufrufes sein. Es kann ein relativer Pfad (man verwendet .\ oder ..\ in dem Pfad) zu der Quelldatei (.au3) sein.
dest Der Zielpfad (mit abschließendem "Backslash", falls nur das Verzeichnis angegeben wird). Das kann eine Variable sein.
flag [optional] Das Flag bestimmt, ob existierende Dateien überschrieben werden sollen:
    $FC_NOOVERWRITE (0) = (Standard) Überschreibt bestehende Dateien nicht
    $FC_OVERWRITE (1) = Überschreibt bestehende Dateien

Die Konstanten sind in FileConstants.au3 definiert.

Rückgabewert

Erfolg: 1.
Fehler: 0.

Bemerkungen

Die Funktion FileInstall() ist dazu gedacht, Dateien in kompilierte AutoIt-Skripte einzubinden.
Diese eingebundenen Dateien werden dann während der Befehlsausführung im kompilierten Skript "entpackt". Man beachte, dass Dateien wie z.B. Bilder das kompilierte Skript stark vergrößern können!
Die Quelldatei muss ein reiner String sein, darf also keine Variable oder das Ergebnis eines Funktionsaufrufes sein.
Die Datei muss während dem kompilieren gefunden werden. Variablen, Berechnungen und Funktionsaufrufe können jedoch nicht ermittelt werden, während des Skript selbst läuft.
Sie können erst nach dem kompilieren ermittelt werden, jedoch ist dies dann zu spät. Die Quellenangabe darf auch keine Wildcards enthalten.

Die einzige Ausnahme dazu ist, dass die Quelldatei @ScriptFullPath enthalten darf. Dies ermöglicht es einem das Quellskript einzubinden.

Wenn diese Funktion aus einem nicht-kompilierten Skript aufgerufen wird, dann wird stattdessen eine Kopie erstellt (um das Testen zu vereinfachen).
Dateien behalten ihre ursprünglichen Zeitstempel zu Erstellung und letzter Veränderung, wenn sie installiert werden.

Das Zielverzeichnis muss bereits bestehen bevor diese Funktion aufgerufen wird. Ansonsten schlägt FileInstall() fehl, gibt 0 zurück und erstellt die Datei oder den Pfad nicht.
Siehe DirCreate() für Informationen über das erstellen des Verzeichnisses.

Die Dateiattribute einer bereits existierenden Datei könnten ein überschreiben der Datei verhindern.
Es ist FileDelete() oder FileSetAttrib() zu verwenden, um sicherzustellen, dass die Datei ohne Probleme installiert werden kann.

Zwei FileInstall()-Aufrufe können nicht in der gleichen Anweisung kombiniert werden. Die folgende Zeile wird beim Kompilieren fehlschlagen:
    If FileInstall("fileA1", "fileA2") And FileInstall("fileB1", "fileB2") Then

Verwandte Funktionen

DirCreate, FileDelete, FileSetAttrib

Beispiel

Local $bFileInstall = False ; Auf True ändern und die Pfade unten anpassen.

; Dies installiert die Datei C:\Test.bmp in den Skriptordner.
If $bFileInstall Then FileInstall("C:\Test.bmp", @ScriptDir & "\Test.bmp")